<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
p.Ballongtext, li.Ballongtext, div.Ballongtext
        {mso-style-name:Ballongtext;
        mso-style-link:"Ballongtext Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.BallongtextChar
        {mso-style-name:"Ballongtext Char";
        mso-style-priority:99;
        mso-style-link:Ballongtext;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;
        font-weight:normal;
        font-style:normal;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;
        font-weight:normal;
        font-style:normal;}
span.EmailStyle26
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle27
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;
        font-weight:normal;
        font-style:normal;}
span.EmailStyle28
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:31616985;
        mso-list-type:hybrid;
        mso-list-template-ids:-694287386 69009423 69009433 69009435 69009423 69009433 69009435 69009423 69009433 69009435;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=NL link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>And excellent explanation, and makes sense! :-)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Thanks Peter for your detailed explanation, I will change my code as you suggested!<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Regards,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Mike.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] <b>On Behalf Of </b>Peter Olsson<br><b>Sent:</b> donderdag 12 april 2012 16:50<br><b>To:</b> 'FreeSWITCH Users Help'<br><b>Subject:</b> Re: [Freeswitch-users] ESL originate retreiving dialresult.<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>What you should do (and what my intention was to describe) is to change how you detect state changes to the call. Now you use a poll mechanism. If you changed this to listen to events instead, you would get the changes as soon as it happens, and you will be able to read all the variables from these events.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Also, “originate” will not return until media is present, so if you dial somewhere without early media, your existing code will hang until the call has been answered, to get around this you can use bpapi instead of Api, which will fire up a new thread in FS during the setup of the call and return immediately.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>A short example;</span><span lang=SV><o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=SV><span style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Send bgapi originate ..... to FS – this will return immediately.</span><span lang=SV><o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=SV><span style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Start polling for events, as soon as the state of your new call changes an event will be sent, with the UUID that you specified.</span><span lang=SV><o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo2'><![if !supportLists]><span lang=SV><span style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Read the variables in the event to get further information. Since the variables are contained in the event object, it won’t matter if the call was disconnected already.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>It will require basic changes in your code, but ESL was made to work this way (async with events, not semi-async with polling), and it will make things easier for you in the future.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>/Peter</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=SV style='font-size:10.0pt;color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=SV style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Från:</span></b><span lang=SV style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] <b>För </b>Michael Lutz<br><b>Skickat:</b> den 12 april 2012 16:25<br><b>Till:</b> 'FreeSWITCH Users Help'<br><b>Ämne:</b> Re: [Freeswitch-users] ESL originate retreiving dialresult.</span><span lang=SV><o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=SV> <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Peter, I know, I am doing this allready, that is how I check the disposition while dialing already, I am using uuid_getvar to reach it.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>The problem is, that when it is not answered, ie Busy or congestion, the session is killed by the core and no longer exists.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>So when it stops, I cannot do a uuid_getvar anymore as the session no longer exists.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas;color:blue'>string</span><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'> cDialString = <span style='color:#A31515'>"{origination_uuid="</span> + thisDial.CallId_LegB // This my generated uuid</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-indent:35.4pt;text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>+ <span style='color:#A31515'>",origination_caller_id_number="</span> + thisDial.CLIP</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-indent:35.4pt;text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>+ <span style='color:#A31515'>",origination_caller_id_name="</span> + thisDial.CLIP</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-indent:35.4pt;text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>+ <span style='color:#A31515'>"}sofia/external/"</span> + thisExtension.Destination+<span style='color:#A31515'>'@'</span>+ thisDial.Gateway</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-indent:35.4pt;text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>+ <span style='color:#A31515'>" &park()"</span>;</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas;color:blue'>var</span><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'> eslEvent = thisFSConnection.Connection.Api(<span style='color:#A31515'>"originate"</span>, cDialString);</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>dispo = thisFSConnection.Connection.Api(<span style='color:#A31515'>"uuid_getvar"</span>, thisDial.CallId_LegB + <span style='color:#A31515'>" endpoint_disposition"</span>).GetBody();</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas;color:#2B91AF'>Stopwatch</span><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'> dialTimeout = <span style='color:blue'>new</span> <span style='color:#2B91AF'>Stopwatch</span>();</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>dialTimeout.Start();</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas;color:blue'>while</span><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'> (CallIdExists(thisFSConnection, thisCall.callId) && CallIdExists(thisFSConnection, thisDial.CallId_LegB) && dispo == <span style='color:#A31515'>"EARLY MEDIA"</span> && dialTimeout.ElapsedMilliseconds < thisDial.DialAttemptDuration*1000 )</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>{</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-indent:35.4pt;text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas;color:blue'>if</span><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'> (dispo != dispoLast)</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-indent:35.4pt;text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>{</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='margin-left:35.4pt;text-indent:35.4pt;text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>dispoLast = dispo;</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-indent:35.4pt;text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>}</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-indent:35.4pt;text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>dispo = thisFSConnection.Connection.Api(<span style='color:#A31515'>"uuid_getvar"</span>, thisDial.CallId_LegB + <span style='color:#A31515'>" endpoint_disposition"</span>).GetBody();</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-indent:35.4pt;text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas;color:#2B91AF'>Thread</span><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>.Sleep(100);</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>}</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>dialTimeout.Stop();</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span lang=EN-US style='font-size:9.5pt;font-family:Consolas'>dispo = thisFSConnection.Connection.Api(<span style='color:#A31515'>"uuid_getvar"</span>, thisDial.CallId_LegB + <span style='color:#A31515'>" endpoint_disposition"</span>).GetBody();</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas;color:blue'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas;color:blue'>if</span><span style='font-size:9.5pt;font-family:Consolas'> (dispo == <span style='color:#A31515'>"ANSWER"</span>)</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>The last dispo is never filled correctly, because the session no longer exist, unless it was answered…</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Thanks,</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Mike.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:freeswitch-users-bounces@lists.freeswitch.org">freeswitch-users-bounces@lists.freeswitch.org</a> <a href="mailto:[mailto:freeswitch-users-bounces@lists.freeswitch.org]">[mailto:freeswitch-users-bounces@lists.freeswitch.org]</a> <b>On Behalf Of </b>Peter Olsson<br><b>Sent:</b> donderdag 12 april 2012 11:34<br><b>To:</b> 'FreeSWITCH Users Help'<br><b>Subject:</b> Re: [Freeswitch-users] ESL originate retreiving dialresult.</span><span lang=SV><o:p></o:p></span></p></div></div><p class=MsoNormal> <span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>If you’re already creating a uuid manually thats just fine (no, you can not use the same uuid for two channels). Now you just need to parse the events for that channel when you start the originate. As soon as the originate does any progress events will report this, using the uuid that you have defined.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>/Peter</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=SV style='font-size:10.0pt;color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=SV style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Från:</span></b><span lang=SV style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:freeswitch-users-bounces@lists.freeswitch.org">freeswitch-users-bounces@lists.freeswitch.org</a> <a href="mailto:[mailto:freeswitch-users-bounces@lists.freeswitch.org]">[mailto:freeswitch-users-bounces@lists.freeswitch.org]</a> <b>För </b>Michael Lutz<br><b>Skickat:</b> den 12 april 2012 10:41<br><b>Till:</b> 'FreeSWITCH Users Help'<br><b>Ämne:</b> Re: [Freeswitch-users] ESL originate retreiving dialresult.</span><span lang=SV><o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=SV> <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>I am allready using the origination_uuid and pass it with the originate command. I only create one now by using the create_uuid function.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>So you say, don’t create a new one and just use one of a session that already exists and is in progress? (so actually the session that is ‘connected’ to the inbound ESL session? The originate/or system would not have a problem with that? I would be setting up two calls wioth the same UUID … and how would my other uuid functions respond to that? I can assume a uuid kill would suddenly kill two legs?</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Thanks,</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'>Mike.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:freeswitch-users-bounces@lists.freeswitch.org">freeswitch-users-bounces@lists.freeswitch.org</a> <a href="mailto:[mailto:freeswitch-users-bounces@lists.freeswitch.org]">[mailto:freeswitch-users-bounces@lists.freeswitch.org]</a> <b>On Behalf Of </b>Peter Olsson<br><b>Sent:</b> donderdag 12 april 2012 10:26<br><b>To:</b> 'FreeSWITCH Users Help'<br><b>Subject:</b> Re: [Freeswitch-users] ESL originate retreiving dialresult.</span><span lang=SV><o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=EN-US> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>Use the variable “origination_uuid”, and set to an uuid that you know. Then it’s possible to detect the events showing up for this channel uuid.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'>/Peter</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;color:#1F497D'> </span><span lang=SV><o:p></o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=SV style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>Från:</span></b><span lang=SV style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> <a href="mailto:freeswitch-users-bounces@lists.freeswitch.org">freeswitch-users-bounces@lists.freeswitch.org</a> <a href="mailto:[mailto:freeswitch-users-bounces@lists.freeswitch.org]">[mailto:freeswitch-users-bounces@lists.freeswitch.org]</a> <b>För </b>Michael Lutz<br><b>Skickat:</b> den 12 april 2012 10:11<br><b>Till:</b> 'FreeSWITCH Users Help'<br><b>Ämne:</b> [Freeswitch-users] ESL originate retreiving dialresult.</span><span lang=SV><o:p></o:p></span></p></div></div><p class=MsoNormal><span lang=SV> <o:p></o:p></span></p><p class=MsoNormal>Hi Guys,<span lang=SV><o:p></o:p></span></p><p class=MsoNormal> <span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I am in an urgent matter an need help with something, I am using an ESL inbound connection to setup a new call.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>It works fine on successful answered calls.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>I am using the uuid_getvar api function whilst dialing to get the endpoint_disposition of the dialing uuid to check when a call is answered.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>So when it’s answered it will return “ANSWER”.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>The problem with this is that if an attempt fails, the endpoint disposition cannot be read with the uuid_getvar function because the dialing session is already gone.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>What is the best way to get the result in realtime?, I really need to know the reason it failed.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> </span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Thanks for your help,</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Mike.</span><span lang=SV><o:p></o:p></span></p><p class=MsoNormal><span lang=SV> <o:p></o:p></span></p><p class=MsoNormal><span lang=SV> <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>!DSPAM:4f86e5a732761122815096! </span><span lang=SV><o:p></o:p></span></p></div></body></html>