<div dir="ltr">Unfortunately I am stuck with 1.8 for the moment. The only workaround that comes to my mind is to use <span style="font-family:arial,sans-serif;font-size:13px">userfield in the master channel as a &quot;shared storage&quot; to also pack all the information (CSV or similar) that applies to the outbound channel(s) and then to correlate the CEL events in a post-processing step in order to pull out the info that applies to the outbound channel from a linked master channel event.</span></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 18, 2013 at 5:37 PM, Matthew Jordan <span dir="ltr">&lt;<a href="mailto:mjordan@digium.com" target="_blank">mjordan@digium.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="h5"><div><br></div>On Thu, Jul 18, 2013 at 10:16 AM, Hristo Trendev <span dir="ltr">&lt;<a href="mailto:dist.lists@gmail.com" target="_blank">dist.lists@gmail.com</a>&gt;</span> wrote:<br>
</div></div><div class="gmail_extra">
<div class="gmail_quote"><div><div class="h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">
Hi,<div><br></div>
<div>I am using Asterisk 1.8 and trying to pack some custom data in a CEL HANGUP event.</div><div><br></div><div>In a master (inbound) channel I can set the CHANENL(userfield) to pass custom information to a CEL event. In the outbound channel created by Dial() I can also possibly use a macro/gosub on answer and set the CHANENL(userfield) from there.</div>


<div><br></div><div>The problem is how to set it in an outbound channel created by Queue() for example or even one created by Dial(), but which was cancelled or rejected?</div><div><br></div><div>If I read the docs correctly CEL uses a predefined set of values, which mostly come from the CHANNEL function, but it cannot just pull the value of any channel variable/function and put it in the event. Also I don&#39;t think that there is any such thing as function value inheritance (setting __CHANNEL(userfiled) so it is inherited so to say).</div>


<div><br></div><div>I didn&#39;t test it myself, but there is a configuration option in manager.conf that allows a list of variables to be defined and they will then be automatically included in AMI events.</div><div><br>


</div><div>Is there something similar for CEL events (with sqlite backend if that matters)? Can I just get any channel variable value in a CEL event? I tried changing the default cel_sqlite3 template to include a channel variable, but it is always empty.</div>


<div><br></div></div></blockquote><div><br></div></div></div><div>So, this is only so helpful, as this solution only applies to Asterisk 11. There may be another way to accomplish this in Asterisk 1.8, but this is the first one that came to my mind - maybe someone else will have another suggestion. If migrating to Asterisk 11 is an option for you, than maybe this will help.</div>

<div><br></div><div>In Asterisk 11, you could use a pre-dial handler [1] to apply the userfield directly to the outbound channel on the initial Dial. Because pre-dial handlers are run immediately after channel creation but before dialing or any other action is taken, they work in situations where the dial operation fails or is cancelled. You would have something that looks something like this:</div>

<div><br></div><div>exten =&gt; s,1,Dial(SIP/foo,,b(default^callee_handler^1))</div><div>...</div><div><br></div><div>exten =&gt; callee_handler,1,NoOp()</div><div>same =&gt; n,Set(CHANNEL(userfield)=my_custom_data)</div>

<div>same =&gt; n,Return()</div><div><br></div><div>Note that pre-dial handlers are not directly available in the Queue application. However, if you use Local channel agents, then you could use pre-dial to put the userfield information on the callee SIP channel when the Local channel performs a Dial to the actual SIP device.</div>

<div><br></div><div>[1] <a href="https://wiki.asterisk.org/wiki/display/AST/Pre-Dial+Handlers" target="_blank">https://wiki.asterisk.org/wiki/display/AST/Pre-Dial+Handlers</a></div></div><div><br></div><div>Matt</div><span class="HOEnZb"><font color="#888888"><div>

<br></div>-- <br><div dir="ltr"><div>Matthew Jordan<br></div><div>Digium, Inc. | Engineering Manager</div><div>445 Jan Davis Drive NW - Huntsville, AL 35806 - USA</div><div>Check us out at: <a href="http://digium.com" target="_blank">http://digium.com</a> &amp; <a href="http://asterisk.org" target="_blank">http://asterisk.org</a></div>

</div>
</font></span></div></div>
<br>--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
New to Asterisk? Join us for a live introductory webinar every Thurs:<br>
               <a href="http://www.asterisk.org/hello" target="_blank">http://www.asterisk.org/hello</a><br>
<br>
asterisk-users mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-users" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-users</a><br></blockquote></div><br></div>