<html>
<head>
<meta name="viewport" content="width=device-width" />
<base href="https://wiki.asterisk.org/wiki" />
<style type="text/css">
body, #email-content, #email-content-inner { font-family: Arial,FreeSans,Helvetica,sans-serif; }
body, p, blockquote, pre, code, td, th, li, dt, dd { font-size: 13px; }
small { font-size: 11px; }
body { width:100% !important; -webkit-font-smoothing: antialiased; }
body,
#email-wrapper { background-color: #f0f0f0; }
#email-wrapper-inner { padding: 20px; text-align: center; }
#email-content-inner { background-color: #fff; border: 1px solid #bbb; color: $menuTxtColour; padding:20px; text-align:left; }
#email-wrapper-inner > table { width: 100%; }
#email-wrapper-inner.thin > table { margin: 0 auto; width: 50%; }
#email-footer { padding: 0 16px 32px 16px; margin: 0; }
.email-indent { margin: 8px 0 16px 0; }
.email-comment { margin: 0 0 0 56px; }
.email-comment.removed { background-color: #ffe7e7; border: 1px solid #df9898; padding: 0 8px;}
#email-title-avatar { text-align: left; vertical-align: top; width: 48px; padding-right: 8px; }
#email-title-flavor { margin: 0; padding: 0 0 4px 0; }
#email-title-heading { font-size: 16px; line-height: 20px; min-height: 20px; margin: 0; padding: 0; }
#email-title .icon { border: 0; padding: 0 5px 0 0; text-align: left; vertical-align: middle; }
#email-actions { border-top: 1px solid #bbb; color: #505050; margin: 8px 0 0 0; padding: 0; }
#email-actions td { padding-top: 8px; }
#email-actions .left { max-width: 45%; text-align: left; }
#email-actions .right { text-align: right; }
.email-reply-divider { border-top: 1px solid #bbb; color: #505050; margin: 32px 0 8px 0; padding: 8px 0; }
.email-section-title { border-bottom: 1px solid #bbb; margin: 8px 0; padding: 8px 0 0 0; }
.email-metadata { color: #505050; }
a { color: #326ca6; text-decoration: none; }
a:hover { color: #336ca6; text-decoration: underline; }
a:active {color: #326ca6; }
a.email-footer-link { color: #505050; font-size: 11px; }
.email-item-list { list-style: none; margin: 4px 0; padding-left: 0; }
.email-item-list li { list-style: none; margin: 0; padding: 4px 0; }
.email-list-divider { color: #505050; padding: 0 0.35em; }
.email-operation-icon { padding-right: 5px; }
.avatar { -ms-interpolation-mode: bicubic; border-radius: 3px;}
.avatar-link { margin: 2px; }
.tableview th { border-bottom: 1px solid #69C; font-weight: bold; text-align: left; }
.tableview td { border-bottom: 1px solid #bbbbbb; text-align: left; padding: 4px 16px 4px 0; }
.aui-message { margin: 1em 0; padding: 8px; }
.aui-message.info { background-color: #e0f0ff; border: 1px solid #9eb6d4; }
.aui-message.success { background-color: #ddfade; border: 1px solid #93c49f; }
.aui-message.error,
.aui-message.removed { background-color: #ffe7e7; border: 1px solid #df9898; color: #000; }
.call-to-action-table { margin: 10px 1px 1px 1px;}
.call-to-cancel-container, .call-to-action-container { padding: 5px 20px; }
.call-to-cancel-container { border: 1px solid #aaa; background-color: #eee; border-radius: 3px; }
.call-to-cancel-container a.call-to-cancel-button { background-color: #eee; font-size: 14px; line-height: 1; padding: 0; margin: 0; color: #666; font-family: sans-serif;}
.call-to-action-container { border: 1px solid #486582; background-color: #3068A2; border-radius: 3px; padding: 4px 10px; }
.call-to-action-container a.call-to-action-button { background-color: #3068A2; font-size: 14px; line-height: 1; padding: 0; margin: 0; color: #fff; font-weight: bold; font-family: sans-serif; }
/** The span around the inline task checkbox image */
.diff-inline-task-overlay {
display: inline-block;
text-align: center;
height: 1.5em;
padding: 5px 0px 1px 5px;
margin-right: 5px;
/** Unfortunately, the negative margin-left is stripped out in gmail */
margin-left: -5px;
}
@media handheld, only screen and (max-device-width: 480px) {
div, a, p, td, th, li, dt, dd { -webkit-text-size-adjust: auto; }
small, small a { -webkit-text-size-adjust: 90%; }
td[id=email-wrapper-inner] { padding: 2px !important; }
td[id=email-content-inner] { padding: 8px !important; }
td[id="email-wrapper-inner"][class="thin"] > table { text-align: left !important; width: 100% !important; }
td[id=email-footer] { padding: 8px 12px !important; }
div[class=email-indent] { margin: 8px 0px !important; }
div[class=email-comment] { margin: 0 !important; }
p[id=email-title-flavor] a { display: block; } /* puts the username and the action on separate lines */
p[id=email-permalink] { padding: 4px 0 0 0 !important; }
table[id=email-actions] td { padding-top: 0 !important; }
table[id=email-actions] td.right { text-align: right !important; }
table[id=email-actions] .email-list-item { display: block; margin: 1em 0 !important; word-wrap: normal !important; }
span[class=email-list-divider] { display: none; }
}
</style>
</head>
<body style="font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; width: 100%; -webkit-font-smoothing: antialiased; background-color: #f0f0f0">
<table id="email-wrapper" width="100%" cellspacing="0" cellpadding="0" border="0" style="background-color: #f0f0f0">
<tbody>
<tr valign="middle">
<td id="email-wrapper-inner" style="font-size: 13px; padding: 20px; text-align: center">
<table id="email-content" cellspacing="0" cellpadding="0" border="0" style="font-family: Arial, FreeSans, Helvetica, sans-serif; width: 100%">
<tbody>
<tr valign="top">
<td id="email-content-inner" align="left" style="font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; background-color: #fff; border: 1px solid #bbb; padding: 20px; text-align: left">
<table id="email-title" cellpadding="0" cellspacing="0" border="0" width="100%">
<tbody>
<tr>
<td id="email-title-avatar" rowspan="2" style="font-size: 13px; text-align: left; vertical-align: top; width: 48px; padding-right: 8px"> <img class="avatar" src="cid:avatar_d85270d3fb7db00ff5572666ba67d7fd" border="0" height="48" width="48" style="-ms-interpolation-mode: bicubic; border-radius: 3px" /> </td>
<td valign="top" style="font-size: 13px">
<div id="email-title-flavor" class="email-metadata" style="margin: 0; padding: 0 0 4px 0; color: #505050">
<a href=" https://wiki.asterisk.org/wiki/display/~kmoore " style="color:#326ca6;text-decoration:none;; color: #326ca6; text-decoration: none">Kinsey Moore</a> edited the page:
</div> </td>
</tr>
<tr>
<td valign="top" style="font-size: 13px"> <h2 id="email-title-heading" style="font-size: 16px; line-height: 20px; min-height: 20px; margin: 0; padding: 0"> <a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+CEL+Specification" style="color: #326ca6; text-decoration: none"> <img class="icon" src="cid:page-icon" alt="" style="border: 0; padding: 0 5px 0 0; text-align: left; vertical-align: middle" /> <strong style="font-size:16px;line-height:20px;vertical-align:top;">Asterisk 12 CEL Specification</strong> </a> </h2> </td>
</tr>
</tbody>
</table>
<div class="email-indent" style="margin: 8px 0 16px 0">
<p class="aui-message info" style="font-size: 13px; margin: 1em 0; padding: 8px; background-color: #e0f0ff; border: 1px solid #9eb6d4"> <b>Comment:</b> rip out the peer field, CONF_* types, and BRIDGE_START/END along with other rework </p>
<div class="email-diff">
<div id="page-diffs" class="wiki-content">
<div class="message-content diff-block-target">
<table class="diff-macro" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;">
<thead>
<tr>
<th class="diff-macro-title" style="background-color: transparent; text-align: left; font-weight: normal;padding: 5px;; font-size: 13px"><span class="icon macro-placeholder-icon" style="background-color: ;line-height: 20px;"><img src="https://wiki.asterisk.org/wiki/s/en_GB-1988229788/4252/6ac85e9b14675c5514a674e1aecae99c9505ed36.40/_/images/icons/macrobrowser/dropdown/warning.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Warning</th>
</tr>
</thead>
<tbody>
<tr>
<td class="diff-macro-body" style="background-color: #fff;border: 1px solid #dddddd;padding: 10px;; font-size: 13px"> <p style="font-size: 13px">Asterisk 12 has not yet been released - t<span>his specification is still in draft form.</span> </p> </td>
</tr>
</tbody>
</table>
<p style="font-size: 13px"> <span> </span></p>
<table class="diff-macro bodyless" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px 1px;padding: 0 2px 2px;width: 100%;margin: 5px 0; padding: 0; width: auto;">
<thead>
<tr>
<th class="diff-macro-title" style="background-color: transparent; text-align: left; font-weight: normal;padding: 5px;; font-size: 13px"><span class="icon macro-placeholder-icon" style="background-color: ;line-height: 20px;"><img src="https://wiki.asterisk.org/wiki/s/en_GB-1988229788/4252/6ac85e9b14675c5514a674e1aecae99c9505ed36.40/_/images/icons/macrobrowser/dropdown/toc.png" style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Table of Contents</th>
</tr>
</thead>
</table>
<p style="font-size: 13px"></p>
<h1 id="Asterisk12CELSpecification-Introduction"> <span>Introduction<br /> </span> </h1>
<p style="font-size: 13px"> <span>Channel Event Logging (CEL) provides a series of records describing the state of channels in Asterisk to any of several event recording backends. <span>CEL records provide substantially more information than CDRs and thus allow an Asterisk User to construct their own more complex billing system.</span></span> </p>
<p style="font-size: 13px"> <span>As a result of the bridging work done for Asterisk 12, CEL behavior has changed for several events that occur in the system. The most significant changes are:</span> </p>
<ul>
<li style="font-size: 13px"> <span>AST_CEL_TRANSFER has been removed as it was not used and was redundant.</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_<span class="diff-html-removed" id="removed-diff-0" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">CONF</span><span class="diff-html-added" id="added-diff-0" style="font-size: 100%; background-color: #ddfade;">BRIDGE</span>_ENTER and AST_CEL_<span class="diff-html-removed" id="removed-diff-1" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">CONF</span><span class="diff-html-added" id="added-diff-1" style="font-size: 100%; background-color: #ddfade;">BRIDGE</span>_EXIT <span class="diff-html-removed" id="removed-diff-2" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">are now used </span><span class="diff-html-added" id="added-diff-2" style="font-size: 100%; background-color: #ddfade;">have been introduced </span>to denote <span class="diff-html-added" id="added-diff-3" style="font-size: 100%; background-color: #ddfade;">participant </span>changes in <span class="diff-html-removed" id="removed-diff-3" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">multi-participant conferences (further details below).</span><span class="diff-html-added" id="added-diff-4" style="font-size: 100%; background-color: #ddfade;">bridges.</span></span><span><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span></span> </li>
<li style="font-size: 13px"> <span>AST_CEL_BRIDGE_<span class="diff-html-removed" id="removed-diff-4" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">TO_CONF has been added to describe transitions between two participant bridges and multi-participant conferences</span><span class="diff-html-added" id="added-diff-5" style="font-size: 100%; background-color: #ddfade;">START and AST_CEL_BRIDGE_END now refer only to bridge creation and destruction, not participant state</span>.<br /> </span> </li>
<li style="font-size: 13px"> <span>AST_CEL_BRIDGE_UPDATE has been removed as it no longer applies to the new bridging framework.</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_LOCAL_OPTIMIZE has been added to describe local channel optimizations that occur.<br /> </span> </li>
<li style="font-size: 13px"> <span>All linkedid accounting and record generation is now handled within the CEL engine.<br /> </span> </li>
</ul>
<h2 id="Asterisk12CELSpecification-Scope"> <span>Scope</span> </h2>
<p style="font-size: 13px"> <span><span>This CEL specification applies to Asterisk 12. While some portions of this specification are applicable to prior versions of Asterisk, other portions are specific to Asterisk 12 and their counterparts in prior versions are not discussed.</span></span> </p>
<h2 id="Asterisk12CELSpecification-Terminology"> <span>Terminology</span> </h2>
<div class="table-wrap">
<table class="confluenceTable" style="border-collapse: collapse; border: 1px solid #ddd;">
<tbody>
<tr>
<th class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Term</th>
<th class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px"> <p style="font-size: 13px">Definition</p> </th>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">CEL</td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Channel Event Logging. The focus of this documentation.</td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">CEL record</td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">An individual event record produced by the CEL engine.</td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">CDR</td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Call Detail Record. An alternative method of extracting billing information from Asterisk. Simpler, but less flexible.</td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Stasis</td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">The internal message bus in Asterisk that conveys state to the CEL engine.</td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Primary</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">The channel around which a CEL record is focused.</td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">AMI</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Asterisk Manager Interface</td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">CSV</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Comma Separated Values. A format commonly used for tabular data when stored outside of a database.</td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span class="diff-html-removed" id="removed-diff-5" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Two-participant bridge</span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">A bridge in which up to two channels can participate.</span></td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Multi-participant conference</span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">A bridge in which any number of channels can participate.</span></td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Smart bridge</span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> <p style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">A smart bridge can change bridging technologies as the situation demands.</span> </p> <p style="font-size: 13px"> <span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">This often means transitioning from a two-participant bridge to a multi-participant conference.</span> </p> </td>
</tr>
</tbody>
</table>
</div>
<h1 id="Asterisk12CELSpecification-CELOverview"> <span>CEL Overview</span> </h1>
<p style="font-size: 13px"> <span><span>A CEL record contains information about a system event including a partial dump of the Primary's state and may contain relevant record type specific data such as channel names, bridge unique identifiers, channel variable values, or other miscellaneous information. The CEL engine tracks changes in individual channel state and guarantees ordering of records for a given Primary, but does not guarantee ordering of records in relation to other Primaries. The exception to this record ordering occurs with meta-records which occur adjacent to the events they describe. Applicable event ordering is provided in the descriptions below. CEL output does not describe interaction with MeetMe conferences other than MeetMe as an application.<br /> </span></span> </p>
<h1 id="Asterisk12CELSpecification-RecordTypes">Record Types</h1>
<p style="font-size: 13px"> <span><span>The records produced by the CEL engine can be grouped in to three general categories:</span></span> </p>
<h2 id="Asterisk12CELSpecification-Stand-AloneRecords"> <span>Stand-Alone Records</span> </h2>
<p style="font-size: 13px"> <span><span><span>These records convey a channel event on the channel that does not involve channels or bridges other than the Primary.</span></span></span> </p>
<h3 id="Asterisk12CELSpecification-ChannelStart"> <span><span><span>Channel Start</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span>An AST_CEL_CHANNEL_START record is generated when a channel is created. This record introduces a new Primary and is the first record available for all Primaries.<br /> </span></span></span> </p>
<h3 id="Asterisk12CELSpecification-ChannelEnd"> <span><span><span>Channel End</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span>An AST_CEL_CHAN_END record is generated when a channel is destroyed. This record indicates that a Primary is going away and that there will be no further records for this Primary with the exception of AST_CEL_LINKEDID_END.<br /> </span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-Answer"> <span><span><span>Answer</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span>An AST_CEL_ANSWER record is generated when a channel is answered. Depending on the state transitions that occur on a Primary, this record may not be generated.<br /> </span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-Hangup"> <span><span><span>Hangup</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span>An AST_CEL_HANGUP record is generated when a channel is hung up. This record will occur on every Primary prior to channel destruction.<br /> </span></span></span></span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-ApplicationStart"> <span><span><span>Application Start</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span>An AST_CEL_APP_START record is generated when a channel enters an application. This record will always be generated before its corresponding AST_CEL_APP_END.<br /> </span></span></span></span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-ApplicationEnd"> <span><span><span>Application End</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span>An AST_CEL_APP_END record is generated when a channel exits an application. This record will be generated after its corresponding AST_CEL_APP_START, but is not guaranteed to be generated on hangup.<br /> </span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-UserDefined"> <span><span><span>User Defined</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span>An AST_CEL_USER_DEFINED record is generated when a channel enters the CELGenUserEvent application. The application sets the user defined name field and additional information in the extra field in the "extra" key.<br /> </span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-LinkedIDEnd"> <span><span><span>Linked ID End</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>An AST_CEL_LINKEDID_END record is generated when the last channel using the given linked ID is destroyed or the last instance of a linked ID is overwritten by a different linked ID. This is the only type of record that may occur after AST_CEL_CHANNEL_END.<br /> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h2 id="Asterisk12CELSpecification-InteractionRecords"> <span>Interaction Records</span> </h2>
<p style="font-size: 13px"> <span><span><span>These records convey the Primary's interactions with other channels or bridges.</span></span></span> </p>
<h3 id="Asterisk12CELSpecification-BridgeEnter" class="message-content"> <span><span><span><span><span class="diff-html-changed" id="changed-diff-1" style="background-color: #d6f0ff;">Bridge</span></span></span></span></span> </h3>
<span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span>
<span class="diff-html-removed" id="removed-diff-6" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Start</span>
<h3 id="Asterisk12CELSpecification-BridgeEnter" class="message-content"> <span><span><span><span><span><span><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span><span class="diff-html-added" id="added-diff-6" style="font-size: 100%; background-color: #ddfade;">Enter</span></span></span></span> <br /> </span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span>An AST_CEL_BRIDGE_<span class="diff-html-removed" id="removed-diff-7" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">START </span><span class="diff-html-added" id="added-diff-7" style="font-size: 100%; background-color: #ddfade;">ENTER </span>record is generated when <span class="diff-html-removed" id="removed-diff-8" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">the second participant </span><span class="diff-html-added" id="added-diff-8" style="font-size: 100%; background-color: #ddfade;">a channel </span>enters a <span class="diff-html-removed" id="removed-diff-9" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">two-participant </span>bridge. <span class="diff-html-removed" id="removed-diff-10" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">In the case of this event, the Primary is the first channel to have entered the bridge while the second participant's channel name is recorded in the peer field. A two-participant bridge may be terminated by either AST_CEL_BRIDGE_END or AST_CEL_BRIDGE_TO_CONF.</span><span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> Neither channel joining the two participant bridge generates an AST_CEL_CONF_ENTER event. See below for an example.</span></span></span></span> <br /> </span></span></span> </p>
<h3 id="Asterisk12CELSpecification-BridgeEnd"> <span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Bridge End</span></span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">An AST_CEL_BRIDGE_END record is generated when either participant exits a two-participant bridge after an AST_CEL_BRIDGE_START record is generated. The Primary and peer field are the same as those presented in the corresponding AST_CEL_BRIDGE_START record.</span><span><span><span><span><span><span><span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> Neither channel leaving the two participant bridge generates an AST_CEL_CONF_EXIT record.</span></span></span></span></span></span></span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> See below for an example.</span></span></span></span> <br /> </span></span></span> </p>
<h3 id="Asterisk12CELSpecification-BridgeToConference"> <span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Bridge To Conference</span></span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">An AST_CEL_BRIDGE_TO_CONF record is generated when a third channel enters a two-participant bridge and the bridge is subsequently converted into a multi-participant conference. The entering channel and the bridge unique identifier are available in the extra field JSON blob under the keys "channel_name" and "bridge_id" respectively. </span><span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">The Primary and peer field are the same as those presented in the corresponding AST_CEL_BRIDGE_START record.</span></span></span></span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> An AST_CEL_CONF_ENTER record is not generated for the third channel entering the two-participant bridge. This record can only occur for smart bridges. See below for an example.</span></span></span></span> </p>
<p style="font-size: 13px"> <span><span><span><span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">There is no corresponding AST_CEL_CONF_TO_BRIDGE because two-participant bridge messages convey information that cannot be discerned from multi-participant to two-participant bridge conversions. All further changes relating to this bridge will be conveyed via AST_CEL_CONF_ENTER and AST_CEL_CONF_EXIT.</span></span></span></span></span></span></span> </p>
<p style="font-size: 13px"> <span><span><span><span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">For AST_CEL_CONF_ENTER and AST_CEL_CONF_EXIT accounting purposes, this record implies an AST_CEL_CONF_ENTER record for the given bridge unique ID on each of the three involved channels.</span> <br /> </span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-ConferenceEnter"> <span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Conference Enter</span> <br /> </span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">An AST_CEL_CONF_ENTER record is generated when a channel enters a multi-participant conference. The entering channel is the Primary for this event. An AST_CEL_CONF_ENTER record is not generated if the bridge is a two-participant bridge and the channel is the first, second, or third party to enter the bridge. See below for an example.</span> <br /> </span></span></span> </p>
<span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Conference </span>
<p style="font-size: 13px"> <span><span><span><span class="diff-html-added" id="added-diff-9" style="font-size: 100%; background-color: #ddfade;">The entering channel is the Primary for this event. </span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Additional information is conveyed in the extra field under the "bridge_id" key.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> <br /> </span></span></span> </p>
<h3 id="Asterisk12CELSpecification-BridgeExit"> <span><span><span><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">Bridge </span><span class="diff-html-changed" id="changed-diff-3" style="background-color: #d6f0ff;">Exit</span></span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span>An AST_CEL_<span class="diff-html-removed" id="removed-diff-11" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">CONF</span><span class="diff-html-added" id="added-diff-10" style="font-size: 100%; background-color: #ddfade;">BRIDGE</span>_EXIT record is generated when a channel exits a <span class="diff-html-removed" id="removed-diff-12" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">multi-participant conference</span><span class="diff-html-added" id="added-diff-11" style="font-size: 100%; background-color: #ddfade;">bridge</span>. The leaving channel is the Primary for this event.<span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><span class="diff-html-removed" id="removed-diff-13" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">An AST_CEL_CONF_EXIT record is not generated if the bridge is a two-participant bridge.</span><span><span><span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> This record always occurs after its corresponding AST_CEL_CONF_ENTER and before the Primary's AST_CEL_HANGUP record. See below for an example.</span></span></span></span></span></span></span><span><span><span><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span class="diff-html-added" id="added-diff-12" style="font-size: 100%; background-color: #ddfade;">Additional information is conveyed in the extra field under the "bridge_id" key.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span></span></span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-Forward"> <span><span><span>Forward</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>An AST_CEL_FORWARD record is generated when a dialing channel is forwarded elsewhere by a dialed channel. The dialing channel is the Primary for this event.<span><span><span><span><span><span> Additional information is conveyed in the extra field under the "forward" key.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-ParkStart"> <span><span><span>Park Start</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span>An AST_CEL_PARK_START record is generated when a channel is parked. The parked channel is the Primary for this event. Additional information is conveyed in the extra field under the keys "parker_dial_string" and "parking_lot".<br /> </span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-ParkEnd"> <span><span><span>Park End</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span>An AST_CEL_PARK_START record is generated when a channel is unparked. The unparked channel is the Primary for this event. <span><span><span><span><span><span> Additional information is conveyed in the extra field under the "reason" key. This record always occurs after its corresponding AST_CEL_PARK_START.<br /> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-Pickup"> <span><span><span>Pickup</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span>An AST_CEL_PICKUP record is generated when a channel is picked up. The picked up channel (also known as the target) is the Primary for this record. <span><span><span><span><span><span> Additional information is conveyed in the extra field under the "reason" key. The name of the channel that is picking up is <span class="diff-html-removed" id="removed-diff-14" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">placed </span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span class="diff-html-added" id="added-diff-13" style="font-size: 100%; background-color: #ddfade;">conveyed </span><span class="diff-html-changed" id="changed-diff-4" style="background-color: #d6f0ff;">in the </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><span class="diff-html-removed" id="removed-diff-15" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">peer field</span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span class="diff-html-added" id="added-diff-14" style="font-size: 100%; background-color: #ddfade;">extra field under the "pickup_channel" key</span><span class="diff-html-changed" id="changed-diff-5" style="background-color: #d6f0ff;">.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> <br /> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h2 id="Asterisk12CELSpecification-Meta-Records"> <span>Meta-Records</span> </h2>
<p style="font-size: 13px"> <span><span><span>These records convey additional context relating to surrounding CEL records</span></span></span> </p>
<h3 id="Asterisk12CELSpecification-BlindTransfer"> <span><span><span>Blind Transfer</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span>An AST_CEL_BLINDTRANSFER record is generated when a blind transfer feature is activated on a bridge. The initiating channel is the Primary for this record.<span><span><span><span><span><span><span><span><span><span><span><span> <span><span><span><span><span><span> Additional information is conveyed in the extra field under the "extension", "context", and "bridge_id" keys.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> <br /> </span></span></span> </p>
<h3 id="Asterisk12CELSpecification-AttendedTransfer"> <span><span><span>Attended Transfer</span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span>An AST_CEL_ATTENDEDTRANSFER record is generated when an attended transfer is successfully performed.<span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span> <br /> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h4 id="Asterisk12CELSpecification-Bridge-BridgeAttendedTransfers"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>Bridge-Bridge Attended Transfers</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </h4>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>This type of attended transfer occurs when both involved channels are bridged. The initiating channel is the Primary for this record. <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>Additional information is conveyed in the extra field under the "bridge1_id", "channel2_name", and "bridge2_id" keys.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </p>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>The records associated with this type of transfer will vary depending on the configuration of the bridges involved and the number of channels involved. Possible methods of accomplishing the transfer include (but are not limited to) channel swap, bridge merge, and bridge link via a local channel.<br /> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h4 id="Asterisk12CELSpecification-Bridge-AppAttendedTransfers"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>Bridge-App Attended Transfers</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </h4>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>This type of attended transfer occurs when one involved channel is bridged while the other is running an application. The bridged channel is the Primary for this record. <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>Additional information is conveyed in the extra field under the "bridge1_id", "channel2_name", and "app" keys.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h4 id="Asterisk12CELSpecification-App-AppAttendedTransfers"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>App-App Attended Transfers</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </h4>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>Attended transfers involving only channels that are running applications are not currently possible. <span class="diff-html-added" id="added-diff-15" style="font-size: 100%; background-color: #ddfade;">This is not possible with internal transfers since there is no bridge involved to handle the feature codes and any externally initiated attended transfer that attempts to bridge two app-bound channels will fail.</span> <br /> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h3 id="Asterisk12CELSpecification-LocalChannelOptimization"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>Local Channel Optimization</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </h3>
<p style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>An AST_CEL_LOCAL_OPTIMIZE record is generated when a local channel optimization attempt completes successfully. The semi-one (local channel ending in ';1') channel is the Primary for this event. The name of the semi-two (local channel ending in ';2') channel is <span class="diff-html-removed" id="removed-diff-16" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">set </span><span class="diff-html-added" id="added-diff-16" style="font-size: 100%; background-color: #ddfade;">conveyed </span>in the <span class="diff-html-removed" id="removed-diff-17" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">peer field</span><span class="diff-html-added" id="added-diff-17" style="font-size: 100%; background-color: #ddfade;">extra field under the "local_two" key</span>.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> <br /> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </p>
<h2 id="Asterisk12CELSpecification-RemovedRecords"> <span><span><span>Removed Records</span></span></span> </h2>
<p style="font-size: 13px"> <span><span><span>The following record types are no longer <span class="diff-html-removed" id="removed-diff-18" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">used or are no longer </span>available in Asterisk 12:</span></span></span> </p>
<ul>
<li style="font-size: 13px"> <span><span><span>AST_CEL_<span class="diff-html-added" id="added-diff-18" style="font-size: 100%; background-color: #ddfade;">BRIDGE_START</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">AST_CEL_BRIDGE_END</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">AST_CEL_</span>CONF_START</span></span></span> </li>
<li style="font-size: 13px"> <span><span><span>AST_CEL_CONF_END</span></span></span> </li>
<li style="font-size: 13px"> <span><span><span>AST_CEL_<span class="diff-html-added" id="added-diff-19" style="font-size: 100%; background-color: #ddfade;">CONF_ENTER</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">AST_CEL_CONF_EXIT</span></span></span></span><span><span><span> <br /> </span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">AST_CEL_</span>HOOKFLASH</span></span></span> </li>
<li style="font-size: 13px"> <span><span><span>AST_CEL_3WAY_START</span></span></span> </li>
<li style="font-size: 13px"> <span> </span><span><span><span><span><span><span><span><span><span>AST_CEL_3WAY_END</span></span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span>AST_CEL_BRIDGE_UPDATE</span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span>AST_CEL_TRANSFER</span></span></span></span></span></span> </li>
</ul>
<h1 id="Asterisk12CELSpecification-RecordFields"> <span><span><span>Record Fields<br /> </span></span></span> </h1>
<h2 id="Asterisk12CELSpecification-PrimaryFields"> <span>Primary Fields</span> </h2>
<p style="font-size: 13px"> <span>These fields are populated exclusively from their corresponding fields on the Primary in a consistent manner for every CEL record.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-CallerIDName"> <span>CallerID Name</span> </h3>
<p style="font-size: 13px"> <span>The name identifying the caller for this channel.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-CallerIDNumber"> <span>CallerID Number</span> </h3>
<p style="font-size: 13px"> <span><span>The number identifying the caller for this channel.</span></span> </p>
<h3 id="Asterisk12CELSpecification-CallerIDANI"> <span>CallerID ANI</span> </h3>
<p style="font-size: 13px"> <span>Automatic Number Identification caller information provided for this channel.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-CallerIDRDNIS"> <span>CallerID RDNIS</span> </h3>
<p style="font-size: 13px"> <span>Redirecting information for this channel.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-CallerIDDNID"> <span>CallerID DNID</span><span> </span> </h3>
<p style="font-size: 13px"> <span>Dialed Number Identification for this channel.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-Extension"> <span>Extension</span> </h3>The extension in which this channel is currently executing.
<br />
<h3 id="Asterisk12CELSpecification-Context"> <span>Context</span><span> </span> </h3>
<p style="font-size: 13px"> <span>The context in which this channel is currently executing.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-ChannelName"> <span>Channel Name</span><span> </span> </h3>
<p style="font-size: 13px"> <span>The name of this channel.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-ApplicationName"> <span>Application Name</span> </h3>
<p style="font-size: 13px"> <span>The name of the application that this channel is currently executing.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-ApplicationData"> <span>Application Data</span> </h3>
<p style="font-size: 13px"> <span>The data provided to the application being executed.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-AccountCode"> <span>Account Code</span> </h3>
<p style="font-size: 13px"> <span>The account code used for billing.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-PeerAccountCode"> <span>Peer Account Code</span> </h3>
<p style="font-size: 13px"> <span>The peer channel's account code.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-UniqueID"> <span>Unique ID</span> </h3>
<p style="font-size: 13px"> <span>This channel's instance unique identifier.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-LinkedID"> <span>Linked ID</span> </h3>
<p style="font-size: 13px"> <span>This channel's current linked ID which is affected by bridging operations. This identifier starts as the channel's unique ID.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-AMAFlags"> <span>AMA Flags</span> </h3>
<p style="font-size: 13px"> <span>This channel's Automated Message Accounting flags.<br /> </span> </p>
<h2 id="Asterisk12CELSpecification-RecordTypeSpecificFields"> <span>Record Type Specific Fields</span> </h2>
<p style="font-size: 13px"> <span>These fields vary or may be blank depending on the CEL record type.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-UserDefinedName"> <span>User Defined Name</span> </h3>
<p style="font-size: 13px"> <span>This field is only used for AST_CEL_USER_DEFINED and conveys the user-specified event type.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-Extra"> <span>Extra</span> </h3>
<p style="font-size: 13px"> <span>This field contains a JSON blob describing additional record-type-specific information.<br /> </span> </p>
<h3 id="Asterisk12CELSpecification-PeerName"> <span><span class="diff-html-removed" id="removed-diff-19" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">Peer Name</span></span> </h3>
<p style="font-size: 13px"> <span><span class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">This field describes the Primary's peer channel.</span> <br /> </span> </p>
<h1 id="Asterisk12CELSpecification-LoggingBackends"> <span>Logging Backends</span> </h1>
<p style="font-size: 13px"> <span>CEL provides several methods of logging records to be processed at a later time. CEL only publishes record types to backends that are enabled in the general CEL configuration. Sample configurations are provided with the Asterisk 12 source for all of these backends.</span> </p>
<h2 id="Asterisk12CELSpecification-Custom"> <span>Custom<br /> </span> </h2>
<p style="font-size: 13px"> <span><span>The Custom CEL output module provides logging capabilit</span>y to a CSV file in a format described in the configuration file<span>. This module is configured in cel_custom.conf.</span></span> </p>
<h2 id="Asterisk12CELSpecification-Manager"> <span>Manager</span> </h2>
<p style="font-size: 13px"> <span>The manager CEL output module publishes records over AMI as CEL events with the record type published under the "EventName" key. This module is configured in cel.conf in the [manager] section.</span> </p>
<h2 id="Asterisk12CELSpecification-ODBC"> <span>ODBC</span> </h2>
<p style="font-size: 13px"> <span>The ODBC CEL output module provides logging capability to any ODBC-compatible database. This module is configured in cel_odbc.conf.<br /> </span> </p>
<h2 id="Asterisk12CELSpecification-PGSQL"> <span>PGSQL</span> </h2>
<p style="font-size: 13px"> <span>The PGSQL CEL output module provides logging capability to PostgreSQL databases when it is desirable to avoid the ODBC abstraction layer.<span> This module is configured in cel_pgsql.conf.</span></span> </p>
<h2 id="Asterisk12CELSpecification-RADIUS"> <span>RADIUS</span> </h2>
<p style="font-size: 13px"> <span><span><span>The RADIUS CEL output module allows the CEL engine to publish records to a RADIUS server.<span> This module is configured in cel.conf in the [radius] section.</span></span></span> <br /> </span> </p>
<h2 id="Asterisk12CELSpecification-SQLite"> <span>SQLite</span> </h2>
<p style="font-size: 13px"> <span>The SQLite CEL output module provides logging capability to a SQLite3 database in a format described in its configuration file.<span><span> This module is configured in cel_sqlite3_custom.conf.</span></span> <br /> </span> </p>
<h2 id="Asterisk12CELSpecification-TDS"> <span>TDS</span> </h2>
<p style="font-size: 13px"> <span>The TDS CEL output module provides logging capability to Sybase or Microsoft SQL Server databases when it is desirable to avoid the ODBC abstraction layer. This module is configured in cel_tds.conf.</span> </p>
<h1 id="Asterisk12CELSpecification-ExampleScenarios"> <span>Example Scenarios</span> </h1>
<p style="font-size: 13px"> <span>For the following scenarios, assume the CEL engine is configured to generate the following record types:</span> </p>
<ul>
<li style="font-size: 13px"> <span>AST_CEL_CHANNEL_START</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_CHAN_END</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_BRIDGE_START</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_BRIDGE_END</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_CONF_ENTER</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_CONF_EXIT</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_BRIDGE_TO_CONF</span><span> </span><span> </span><span> </span> </li>
</ul>
<h2 id="Asterisk12CELSpecification-Two-ParticipantBridgeNominal"> <span>Two-Participant Bridge Nominal<br /> </span> </h2>
<div class="message-content">
<span>The following scenario</span>
<span> demonstrates channel creation, channel destruction, bridge start, and bridge end:</span>
</div>
<div class="message-content">
<p style="font-size: 13px"> </p>
<div class="table-wrap">
<table class="confluenceTable" style="border-collapse: collapse; border: 1px solid #ddd;">
<tbody>
<tr>
<th class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Event</th>
<th class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Record</th>
<th colspan="1" class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Primary</th>
<th colspan="1" class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Peer</th>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Channel</span> Alice is created</span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span>AST_CEL_CHANNEL_START</span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Channel Bob is created</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>AST_CEL_CHANNEL_START</span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Two-participant bridge Link is created</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Alice enters bridge Link</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>Bob enters bridge Link</span></span></span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>AST_CEL_BRIDGE_START</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>Bob exits bridge Link</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>AST_CEL_BRIDGE_END</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob is destroyed</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span>AST_CEL_CHAN_END</span></span></span></span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span>Alice exits bridge Link</span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice is destroyed</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span>AST_CEL_CHAN_END</span></span></span></span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
</tbody>
</table>
</div>
<p style="font-size: 13px"> </p>
</div>
<h2 id="Asterisk12CELSpecification-Two-ParticipantBridgePrimaryExit"> <span>Two-Participant Bridge Primary Exit<br /> </span> </h2>
<p style="font-size: 13px"> <span><span>The following scenario</span><span> demonstrates a bridge end with the Primary exiting first:</span></span> </p>
<div class="table-wrap">
<table class="confluenceTable" style="border-collapse: collapse; border: 1px solid #ddd;">
<tbody>
<tr>
<th colspan="1" class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Event</th>
<th colspan="1" class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Record</th>
<th colspan="1" class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Primary</th>
<th colspan="1" class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Peer</th>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Channel</span> Alice is created</span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span>AST_CEL_CHANNEL_START</span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Channel Bob is created</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>AST_CEL_CHANNEL_START</span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Two-participant bridge Link is created</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Alice enters bridge Link</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>Bob enters bridge Link</span></span></span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>AST_CEL_BRIDGE_START</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>Alice exits bridge Link</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>AST_CEL_BRIDGE_END</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice is destroyed</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span>AST_CEL_CHAN_END</span></span></span></span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span>Bob exits bridge Link</span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob is destroyed</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span>AST_CEL_CHAN_END</span></span></span></span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
</tbody>
</table>
</div>
<p style="font-size: 13px"> <span>Note that even though Alice left the bridge first, the AST_CEL_BRIDGE_END event maintained the Primary and Peer for the bridge so as to correspond to their values in AST_CEL_BRIDGE_START.</span> </p>
<h2 id="Asterisk12CELSpecification-Multi-participantConferenceNominal"> <span>Multi-participant Conference Nominal</span> </h2>
<p style="font-size: 13px"> <span><span>The following scenario</span><span> demonstrates conversion of a bridge to a multi-participant conference:</span></span> </p>
<div class="table-wrap">
<table class="confluenceTable" style="border-collapse: collapse; border: 1px solid #ddd;">
<tbody>
<tr>
<th colspan="1" class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Event</th>
<th colspan="1" class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Record</th>
<th colspan="1" class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Primary</th>
<th colspan="1" class="confluenceTh" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px">Extra</th>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Channel</span> Alice is created</span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span>AST_CEL_CHANNEL_START</span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Channel Bob is created</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>AST_CEL_CHANNEL_START</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Channel Charlie is created</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>AST_CEL_CHANNEL_START</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Charlie</td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Channel David is created</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>AST_CEL_CHANNEL_START</span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">David</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Multi-participant bridge Link is created</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span>Alice enters bridge Link</span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span>AST_CEL_CONF_ENTER</span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>{"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>Bob enters bridge Link</span></span></span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>AST_CEL_CONF_ENTER</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>{"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>Charlie enters bridge Link</span></span></span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>AST_CEL_CONF_ENTER</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Charlie</td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>{"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
</tr>
<tr>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>David enters bridge Link</span></span></span></span></td>
<td class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>AST_CEL_CONF_ENTER</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">David</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>{"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>Alice exits bridge Link</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>AST_CEL_CONF_EXIT</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>{"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice is destroyed</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span>AST_CEL_CHAN_END</span></span></span></span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Alice</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>Bob exits bridge Link</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>AST_CEL_CONF_EXIT</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>{"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob is destroyed</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span>AST_CEL_CHAN_END</span></span></span></span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Bob</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>Charlie exits bridge Link</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>AST_CEL_CONF_EXIT</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Charlie</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>{"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Charlie is destroyed</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span>AST_CEL_CHAN_END</span></span></span></span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">Charlie</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>David exits bridge Link</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span>AST_CEL_CONF_EXIT</span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">David</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>{"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></td>
</tr>
<tr>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">David is destroyed</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"><span><span><span><span><span><span><span><span>AST_CEL_CHAN_END</span></span></span></span></span></span></span></span></td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px">David</td>
<td colspan="1" class="confluenceTd" style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align: top;; font-size: 13px"> </td>
</tr>
</tbody>
</table>
</div>
<h2 id="Asterisk12CELSpecification-BridgetoConferenceConversion"> <span>Bridge to Conference Conversion</span> </h2>
<p style="font-size: 13px"> <span><span>The following scenario</span><span> demonstrates conversion of a bridge to a multi-participant conference:</span></span> </p>
<ul>
<li style="font-size: 13px"> <span><span>Channel</span> Alice is created</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_CHANNEL_START (Primary: Alice)</span> </li>
<li style="font-size: 13px"> <span><span>Channel Bob is created</span></span> </li>
<li style="font-size: 13px"> <span><span>AST_CEL_CHANNEL_START (Primary: Bob)</span></span> </li>
<li style="font-size: 13px"> <span><span>Channel Charlie is created</span></span> </li>
<li style="font-size: 13px"> <span><span>AST_CEL_CHANNEL_START (Primary: Charlie)</span></span><span> </span><span> <br /> </span> </li>
<li style="font-size: 13px"> <span><span>Channel David is created</span></span> </li>
<li style="font-size: 13px"> <span><span>AST_CEL_CHANNEL_START (Primary: David)</span></span><span> </span><span><span> <br /> </span></span> </li>
<li style="font-size: 13px"> <span><span>Smart bridge Link is created</span></span> </li>
<li style="font-size: 13px"> <span><span>Alice enters bridge Link</span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>Bob enters bridge Link</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>AST_CEL_BRIDGE_START (Primary: Alice, Peer: Bob)</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>Charlie enters bridge Link</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>Bridge Link transitions to a multi-participant conference<br /> </span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>AST_CEL_BRIDGE_TO_CONF (Primary: Alice, Peer: Bob, Extra: {"channel_name": "Charlie", "bridge_id", "Link"})</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>David enters bridge Link</span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_CONF_ENTER (Primary: David<span><span><span><span>, Extra: {"bridge_id", "Link"}</span></span></span></span>)<br /> </span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>Alice exits bridge Link</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_CONF_EXIT (Primary: Alice<span><span><span><span><span><span><span><span><span><span><span><span>, Extra: {"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span>)</span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>Alice is destroyed</span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_CHAN_END (Primary: Alice)</span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span>Bob exits bridge Link</span></span></span></span></span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>AST_CEL_CONF_EXIT (Primary: Bob<span><span><span><span><span><span><span><span><span><span><span><span>, Extra: {"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span>)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>Bob is destroyed</span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_CHAN_END (Primary: Bob)</span></span></span></span></span></span></span></span><span> </span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span>Charlie exits bridge Link</span></span></span></span></span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>AST_CEL_CONF_EXIT (Primary: Charlie<span><span><span><span><span><span><span><span><span><span><span><span>, Extra: {"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span>)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>Charlie is destroyed</span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_CHAN_END (Primary: Charlie)</span></span></span></span></span></span></span></span><span> </span><span> </span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span>David exits bridge Link</span></span></span></span></span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>AST_CEL_CONF_EXIT (Primary: David<span><span><span><span><span><span><span><span><span><span><span><span>, Extra: {"bridge_id", "Link"}</span></span></span></span></span></span></span></span></span></span></span></span>)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>David is destroyed</span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_CHAN_END (Primary: David)</span></span></span></span></span></span></span></span><span> </span><span> </span><span><span><span><span><span><span><span><span><span><span><span><span> <br /> </span></span></span></span></span></span></span></span></span></span></span></span> </li>
</ul>
<p style="font-size: 13px"> <span>Note that none of Alice, Bob, or Charlie have an associated AST_CEL_CONF_ENTER, but all of them have associated exit events.</span> </p>
<h2 id="Asterisk12CELSpecification-DialNominal"> <span>Dial Nominal</span> </h2>
<p style="font-size: 13px"> <span>For this scenario, assume that AST_CEL_ANSWER, AST_CEL_HANGUP, AST_CEL_APP_START, and AST_CEL_APP_END are configured in addition to the aforementioned record types and that "Dial" is configured to be watched.</span> </p>
<p style="font-size: 13px"> <span>The following scenario demonstrates a Dial that results in an answer followed by bridging and hangup:</span> </p>
<ul>
<li style="font-size: 13px"> <span><span>Channel</span> Alice is created</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_CHANNEL_START (Primary: Alice)</span> </li>
<li style="font-size: 13px"> <span>Alice enters the Dial application with dial string "SIP/Bob"</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_APP_START (Primary: Alice)<br /> </span> </li>
<li style="font-size: 13px"> <span><span>Channel Bob is created by calling SIP/Bob<br /> </span></span> </li>
<li style="font-size: 13px"> <span><span>AST_CEL_CHANNEL_START (Primary: Bob)</span></span> </li>
<li style="font-size: 13px"> <span><span>Bob answers</span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>AST_CEL_ANSWER (Primary: Bob)</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span>Alice answers</span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>AST_CEL_ANSWER (Primary: Alice)</span></span></span></span><span> </span> </li>
<li style="font-size: 13px"> <span><span><span><span>Two-participant bridge Link is created</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>Alice enters bridge Link</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>Bob enters bridge Link</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>AST_CEL_BRIDGE_START (Primary: Alice, Peer: Bob)</span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span>Bob hangs up (causing him to leave bridge Link)<br /> </span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_BRIDGE_END (Primary: Alice, Peer: Bob)</span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span>AST_CEL_HANGUP (Primary: Bob, Extra: {<span>"hangupcause":16,"dialstatus":"","hangupsource":"Bob"</span>})</span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>Bob is destroyed</span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_CHAN_END (Primary: Bob)</span></span></span></span></span></span></span></span><span> </span> </li>
<li style="font-size: 13px"> <span>Alice is hung up<br /> </span> </li>
<li style="font-size: 13px"> <span><span>AST_CEL_HANGUP (Primary: Alice, <span><span>Extra: {<span>"hangupcause":16,"dialstatus":"ANSWER","hangupsource":""</span>}</span></span>)</span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>Alice is destroyed</span></span></span></span></span></span></span></span><span> </span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_CHAN_END (Primary: Alice)</span></span></span></span></span></span></span></span><span> </span><span><span> <br /> </span></span> </li>
</ul>
<h2 id="Asterisk12CELSpecification-DialBusy"> <span>Dial Busy</span> </h2>
<p style="font-size: 13px"> <span>For this scenario, assume that AST_CEL_ANSWER, AST_CEL_HANGUP, AST_CEL_APP_START, and AST_CEL_APP_END are configured in addition to the aforementioned record types and that "Dial" is configured to be watched. The following scenario demonstrates a Dial that results in a busy:</span> </p>
<ul>
<li style="font-size: 13px"> <span><span>Channel</span> Alice is created</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_CHANNEL_START (Primary: Alice)</span> </li>
<li style="font-size: 13px"> <span>Alice enters the Dial application with dial string "SIP/Bob"</span> </li>
<li style="font-size: 13px"> <span>AST_CEL_APP_START (Primary: Alice)<br /> </span> </li>
<li style="font-size: 13px"> <span><span>Channel Bob is created by calling SIP/Bob<br /> </span></span> </li>
<li style="font-size: 13px"> <span><span>AST_CEL_CHANNEL_START (Primary: Bob)</span></span> </li>
<li style="font-size: 13px"> <span><span>Bob responds BUSY<br /> </span></span> </li>
<li style="font-size: 13px"> <span><span>AST_CEL_HANGUP (Primary: Bob, Extra: {<span>"hangupcause":21,"dialstatus":"","hangupsource":""</span>})</span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>Bob is destroyed</span></span></span></span></span></span></span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_CHAN_END (Primary: Bob)</span></span></span></span></span></span></span></span><span> </span> </li>
<li style="font-size: 13px"> <span>Alice is hung up<br /> </span> </li>
<li style="font-size: 13px"> <span><span>AST_CEL_HANGUP (Primary: Alice, <span><span>Extra: {<span>"hangupcause":17,"dialstatus":"BUSY","hangupsource":""</span>}</span></span>)</span></span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>Alice is destroyed</span></span></span></span></span></span></span></span><span> </span> </li>
<li style="font-size: 13px"> <span><span><span><span><span><span><span><span>AST_CEL_CHAN_END (Primary: Alice)</span></span></span></span></span></span></span></span><span> </span><span><span> <br /> </span></span> </li>
</ul>
</div>
<p class="diff-context-placeholder" style="font-size: 13px">...</p>
</div>
</div>
</div>
<table id="email-actions" class="email-metadata" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-top: 1px solid #bbb; color: #505050; margin: 8px 0 0 0; padding: 0; color: #505050">
<tbody>
<tr>
<td class="left" valign="top" style="font-size: 13px; padding-top: 8px; max-width: 45%; text-align: left"> <span class="email-list-item"><a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+CEL+Specification" style="color: #326ca6; text-decoration: none">View Online</a> </span> <span class="email-list-divider" style="color: #505050; padding: 0 0.350em">·</span> <span class="email-list-item"><a href="https://wiki.asterisk.org/wiki/plugins/likes/like.action?contentId=25919712" style="color: #326ca6; text-decoration: none">Like</a> </span> <span class="email-list-divider" style="color: #505050; padding: 0 0.350em">·</span> <span class="email-list-item"><a href="https://wiki.asterisk.org/wiki/pages/diffpagesbyversion.action?pageId=25919712&revisedVersion=22&originalVersion=21" style="color: #326ca6; text-decoration: none">View Changes</a> </span> <span class="email-list-divider" style="color: #505050; padding: 0 0.350em">·</span> <span class="email-list-item"><a href="https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+CEL+Specification?showComments=true&showCommentArea=true#addcomment" style="color: #326ca6; text-decoration: none">Add Comment</a> </span> </td>
<td class="right" width="50%" valign="top" style="font-size: 13px; padding-top: 8px; text-align: right"> <span class="email-list-item"><a href="https://wiki.asterisk.org/wiki/users/removespacenotification.action?spaceKey=AST" style="color: #326ca6; text-decoration: none">Stop watching space</a> </span> <span class="email-list-divider" style="color: #505050; padding: 0 0.350em">·</span> <span class="email-list-item"><a href="https://wiki.asterisk.org/wiki/users/editmyemailsettings.action" style="color: #326ca6; text-decoration: none">Manage Notifications</a> </span> </td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td id="email-footer" align="center" style="font-size: 13px; padding: 0 16px 32px 16px; margin: 0"> <small style="font-size: 11px"> This message was sent by <a class="email-footer-link" style="color:#505050;font-size:11px;text-decoration:none;; color: #326ca6; text-decoration: none; color: #505050; font-size: 11px" href="http://www.atlassian.com/software/confluence">Atlassian Confluence</a> 5.1.5, <a class="email-footer-link" style="color:#505050;font-size:11px;text-decoration:none;; color: #326ca6; text-decoration: none; color: #505050; font-size: 11px" href="http://www.atlassian.com/software/confluence/overview/team-collaboration-software?utm_source=email-footer">Team Collaboration Software</a> </small> </td>
</tr>
</tbody>
</table>
</body>
</html>