<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <tt>Hi Adam,<br>
      <br>
      <tt>Please open a feature request on GITHUB <tt>tracker<tt> -
            implementing this flag should be an easy one.<br>
            <br>
            <tt>Regards,</tt><br>
          </tt></tt></tt></tt>
    <pre class="moz-signature" cols="72">Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  <a class="moz-txt-link-freetext" href="https://www.opensips-solutions.com">https://www.opensips-solutions.com</a>
OpenSIPS Summit 2019
  <a class="moz-txt-link-freetext" href="https://www.opensips.org/events/Summit-2019Amsterdam/">https://www.opensips.org/events/Summit-2019Amsterdam/</a>
</pre>
    <div class="moz-cite-prefix">On 03/11/2019 03:05 PM, Adam Overbeeke
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:C982CB58-F048-45C4-97CF-ED81B37307E2@genesys.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New",serif;}
tt
        {mso-style-priority:99;
        font-family:"Courier New",serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
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:windowtext;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle25
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></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]-->
      <div class="WordSection1">
        <p class="MsoNormal">Hi Bogdan, <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thanks for the detailed explanation. For
          now, I will continue with my caching implementation. I think
          your solution would be best and would save my memory
          resources. I will make sure to refactor our script when/if the
          functionality is available in the future. <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">Thank you for your time, <o:p></o:p></p>
        <p class="MsoNormal"> <o:p></o:p></p>
        <p class="MsoNormal">Adam <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div style="border:none;border-top:solid #B5C4DF
          1.0pt;padding:3.0pt 0in 0in 0in">
          <p class="MsoNormal"><b><span
                style="font-size:12.0pt;color:black">From: </span></b><span
              style="font-size:12.0pt;color:black">Bogdan-Andrei Iancu
              <a class="moz-txt-link-rfc2396E" href="mailto:bogdan@opensips.org"><bogdan@opensips.org></a><br>
              <b>Date: </b>Monday, March 11, 2019 at 8:51 AM<br>
              <b>To: </b>Adam Overbeeke
              <a class="moz-txt-link-rfc2396E" href="mailto:Adam.Overbeeke@genesys.com"><Adam.Overbeeke@genesys.com></a>, OpenSIPS devel
              mailling list <a class="moz-txt-link-rfc2396E" href="mailto:devel@lists.opensips.org"><devel@lists.opensips.org></a><br>
              <b>Subject: </b>Re: [OpenSIPS-Devel] E_DLG_STATE_CHANGED
              missing dialog information for ENDED state.<o:p></o:p></span></p>
        </div>
        <div>
          <p class="MsoNormal"><o:p> </o:p></p>
        </div>
        <p class="MsoNormal"><tt><span style="font-size:10.0pt">Hi Adam,</span></tt><span
            style="font-size:10.0pt;font-family:"Courier
            New",serif"><br>
            <br>
            <tt>It is not about sync/async...from the point of view of
              accessing the data (as coding) everything is fine (with
              matching terminated calls also).</tt><br>
            <tt>It is more about the logic you have in the script, when
              using such functions (to fetch vars from a different dlg)
              - in my opinion, in 70% of the cases, your really want to
              work only with ongoing calls (once terminated, you want
              the dlg out of your equation). But lately, there are more
              and more where you need to fetch data from terminate calls
              too.</tt><br>
            <br>
            <tt>A solution (to be sure we do not break anything and we
              are backward compatible) will be to add some extra flags
              to the functions to "force" matching of the terminated
              calls too (as time as the dlg is still in memory, of
              course).
            </tt><br>
            <br>
            <tt>Regards,</tt><br>
            <br>
          </span><o:p></o:p></p>
        <pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
        <pre><o:p> </o:p></pre>
        <pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
        <pre>  <a href="https://www.opensips-solutions.com" moz-do-not-send="true">https://www.opensips-solutions.com</a><o:p></o:p></pre>
        <pre>OpenSIPS Summit 2019<o:p></o:p></pre>
        <pre>  <a href="https://www.opensips.org/events/Summit-2019Amsterdam/" moz-do-not-send="true">https://www.opensips.org/events/Summit-2019Amsterdam/</a><o:p></o:p></pre>
        <div>
          <p class="MsoNormal">On 03/11/2019 02:14 PM, Adam Overbeeke
            wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">Hi Bogdan, <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Thanks for confirming my suspicions. I am
            not saying it is bad or good, either. I can see why you
            would not be able to access the dialog information when
            processing event routes, asynchronous. I still would like a
            way to access the dialog variables around the time the
            dialog will be terminated. As I stated before, my first
            thought was that the variables would be available during
            synchronous event route processing, but you have confirmed
            that is not the case (now). Would you like me to create a
            feature request on github? I am sure you already have an
            idea what could be done; but my two cents would be something
            like a new WILL_TERMINATE state or have the information
            available in the terminated state for a period of time.
            <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Thank you for your time, <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Adam<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <div style="border:none;border-top:solid #B5C4DF
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span
                  style="font-size:12.0pt;color:black">From: </span></b><span
                style="font-size:12.0pt;color:black">Bogdan-Andrei Iancu
                <a href="mailto:bogdan@opensips.org"
                  moz-do-not-send="true"><bogdan@opensips.org></a><br>
                <b>Date: </b>Monday, March 11, 2019 at 4:38 AM<br>
                <b>To: </b>Adam Overbeeke <a
                  href="mailto:Adam.Overbeeke@genesys.com"
                  moz-do-not-send="true"><Adam.Overbeeke@genesys.com></a>,
                OpenSIPS devel mailling list
                <a href="mailto:devel@lists.opensips.org"
                  moz-do-not-send="true"><devel@lists.opensips.org></a><br>
                <b>Subject: </b>Re: [OpenSIPS-Devel]
                E_DLG_STATE_CHANGED missing dialog information for ENDED
                state.</span><o:p></o:p></p>
          </div>
          <div>
            <p class="MsoNormal"> <o:p></o:p></p>
          </div>
          <p class="MsoNormal"><tt><span style="font-size:10.0pt">Hi
                Adam,</span></tt><span
              style="font-size:10.0pt;font-family:"Courier
              New",serif"><br>
              <br>
              <tt>Checking a bit more the code, it seems that the inner
                get_dlg_by_callid() function (used for locating dialogs
                in the internal dlg table) does no return the dialogs in
                state 5 (terminated).</tt><br>
              <br>
              <tt>So, once the dialog switched to final state 5, it
                becomes "invisible" to the get_dlg_vals() function. Same
                approach is also implemented by get_dialog_info().</tt><br>
              <br>
              <tt>I'm not saying it is good or bad, I'm just saying how
                it is right now.</tt><br>
              <br>
              <tt>Regards,</tt><br>
              <br>
              <br>
            </span><o:p></o:p></p>
          <pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
          <pre> <o:p></o:p></pre>
          <pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
          <pre>  <a href="https://www.opensips-solutions.com" moz-do-not-send="true">https://www.opensips-solutions.com</a><o:p></o:p></pre>
          <pre>OpenSIPS Summit 2019<o:p></o:p></pre>
          <pre>  <a href="https://www.opensips.org/events/Summit-2019Amsterdam/" moz-do-not-send="true">https://www.opensips.org/events/Summit-2019Amsterdam/</a><o:p></o:p></pre>
          <div>
            <p class="MsoNormal">On 03/08/2019 04:15 PM, Adam Overbeeke
              wrote:<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="MsoNormal">Hi Bogdan, <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">I hope this answers your question. I’ve
              reconstructed the scenario and confirmed that from
              OLD_STATE(4) to NEW_STATE(5) the dialog variables are not
              available or return NULL. The trigger for the state change
              was a BYE. Let me know if you want me to try any thing
              else. I’ve provided some log output below. The first log
              is a state transistion from 3 to 4… You can see the
              presence of my variables dialog_org and dialog_dir. Please
              refer to the code I posted before.
              <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">Thanks <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">Adam <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"><u>STATE 3 </u><u><span
                  style="font-family:Wingdings">à</span> 4</u><o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"><span style="font-family:"Courier
                New",serif">Mar  8 13:58:56 [371] { "t":
                "2019-03-08T13:58:56.428889Z", "logger_name": "control",
                "thread_name": 371, "level": "INFO", "route":
                "event_dialog_log", "message": { "hash_entry": "3352",
                "hash_id": "1296669127", "callid": <a
                  href="mailto:IB_MAP-27%5C/%5C/%5C/1-16@203.0.113.4"
                  moz-do-not-send="true">"IB_MAP-27\/\/\/1-16@203.0.113.4"</a>,
                "from_tag": "16SIPpTag61", "to_tag": "7SIPpTag92",
                "old_state": 3, "new_state": 4 } }</span><o:p></o:p></p>
            <p class="MsoNormal"><span style="font-family:"Courier
                New",serif">Mar  8 13:58:56 [371] { "t":
                "2019-03-08T13:58:56.429075Z", "logger_name": "control",
                "thread_name": 371, "level": "INFO", "route":
                "E_DLG_STATE_CHANGED", "message": { "dialog_org": "Org",
                "dialog_dir": "Inbound" } }</span><o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"><u>STATE 4 </u><u><span
                  style="font-family:Wingdings">à</span> 5</u><o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"><span style="font-family:"Courier
                New",serif">Mar  8 13:58:56 [371] { "t":
                "2019-03-08T13:58:56.934118Z", "logger_name": "control",
                "thread_name": 371, "level": "INFO", "route":
                "event_dialog_log", "message": { "hash_entry": "3352",
                "hash_id": "1296669127", "callid": <a
                  href="mailto:IB_MAP-27%5C/%5C/%5C/1-16@203.0.113.4"
                  moz-do-not-send="true">"IB_MAP-27\/\/\/1-16@203.0.113.4"</a>,
                "from_tag": "16SIPpTag61", "to_tag": "7SIPpTag92",
                "old_state": 4, "new_state": 5 } }</span><o:p></o:p></p>
            <p class="MsoNormal"><span style="font-family:"Courier
                New",serif">Mar  8 13:58:56 [371] { "t":
                "2019-03-08T13:58:56.934228Z", "logger_name": "control",
                "thread_name": 371, "level": "INFO", "route":
                "E_DLG_STATE_CHANGED" }</span><o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <div style="border:none;border-top:solid #B5C4DF
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b><span
                    style="font-size:12.0pt;color:black">From: </span></b><span
                  style="font-size:12.0pt;color:black">Bogdan-Andrei
                  Iancu
                  <a href="mailto:bogdan@opensips.org"
                    moz-do-not-send="true"><bogdan@opensips.org></a><br>
                  <b>Date: </b>Thursday, March 7, 2019 at 10:10 AM<br>
                  <b>To: </b>Adam Overbeeke <a
                    href="mailto:Adam.Overbeeke@genesys.com"
                    moz-do-not-send="true"><Adam.Overbeeke@genesys.com></a>,
                  OpenSIPS devel mailling list
                  <a href="mailto:devel@lists.opensips.org"
                    moz-do-not-send="true"><devel@lists.opensips.org></a><br>
                  <b>Subject: </b>Re: [OpenSIPS-Devel]
                  E_DLG_STATE_CHANGED missing dialog information for
                  ENDED state.</span><o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
            <p class="MsoNormal"><tt><span style="font-size:10.0pt">HI
                  Adam,</span></tt><span
                style="font-size:10.0pt;font-family:"Courier
                New",serif"><br>
                <br>
                <tt>When the Terminated event is triggered, the dialog
                  is already in state 5/Terminated and it should still
                  be foundable - is the termination of the dialog
                  triggered by a BYE request or ?</tt><br>
                <tt> </tt><br>
                <tt> </tt><br>
                <tt>Regards,</tt><br>
                <br>
                <br>
                <br>
              </span><o:p></o:p></p>
            <pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
            <pre> <o:p></o:p></pre>
            <pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
            <pre>  <a href="https://www.opensips-solutions.com" moz-do-not-send="true">https://www.opensips-solutions.com</a><o:p></o:p></pre>
            <pre>OpenSIPS Summit 2019<o:p></o:p></pre>
            <pre>  <a href="https://www.opensips.org/events/Summit-2019Amsterdam/" moz-do-not-send="true">https://www.opensips.org/events/Summit-2019Amsterdam/</a><o:p></o:p></pre>
            <div>
              <p class="MsoNormal">On 03/07/2019 04:49 PM, Adam
                Overbeeke wrote:<o:p></o:p></p>
            </div>
            <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
              <p class="MsoNormal">Hi Bogdan, <o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <pre style="line-height:13.5pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">We are trying to access the dialog information during the event route. The function that we are using is </span><span style="font-size:9.0pt;font-family:Consolas;color:#172B4D">get_dialog_vals.</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> During my testing, I was able to get the expected parameters that was passed from the event route, but the dialog variables was returning nothing. This happens only when the state transitions to ENDED, all other states have the information. This makes me believe that the dialog was destroy. </span><o:p></o:p></pre>
              <pre style="line-height:13.5pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
              <pre style="line-height:13.5pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">i.e. in this example: variableOne and variableTwo are dialog variables.</span><o:p></o:p></pre>
              <pre style="line-height:13.5pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">event_route[E_DLG_STATE_CHANGED]
                  {</span><o:p></o:p></p>
              <pre style="line-height:13.5pt"><span style="font-size:9.0pt;font-family:Consolas;color:#172B4D">         fetch_event_params("hash_entry=$avp(eparm_hash_entry)");</span><o:p></o:p></pre>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">       
                  fetch_event_params("hash_id=$avp(eparm_hash_id)");</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">       
                  fetch_event_params("callid=$avp(eparm_callid)");</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">       
                  fetch_event_params("from_tag=$avp(eparm_from_tag)");</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">       
                  fetch_event_params("to_tag=$avp(eparm_to_tag)");</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">       
                  fetch_event_params("old_state=$avp(eparm_old_state)");</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">       
                  fetch_event_params("new_state=$avp(eparm_new_state)");</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D"> </span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">        
                  if (
                  get_dialog_vals("$avp(d_names)","$avp(d_vals)","$avp(eparm_callid)")
                  ) {</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">               
                  $var(i) = 0;</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">               
                  while ( $(avp(d_names)[$var(i)]) != NULL ) {</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                        
                  $var(k) = $(avp(d_names)[$var(i)]);</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                        
                  $var(v) = $(avp(d_vals)[$var(i)]);</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                        
                  switch($var(k)) {</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                                 
                  case "variableOne":</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                                          
                  #// log statement here</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                                          
                  break;</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                                 
                  case "variableTwo":</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                                          
                  #// log statement here</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                                          
                  break;</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                        
                  }</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">                        
                  $var(i) = $var(i) + 1;</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">               
                  }</span><o:p></o:p></p>
              <p class="MsoNormal" style="line-height:13.5pt"><span
                  style="font-size:9.0pt;font-family:Consolas;color:#172B4D">       
                  }</span><o:p></o:p></p>
              <p class="MsoNormal">}<o:p></o:p></p>
              <pre style="line-height:13.5pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
              <pre style="line-height:13.5pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">^ when the state is ENDED, get_dialog_vals returns nothing back for the dialog’s callid.</span><o:p></o:p></pre>
              <pre style="line-height:13.5pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
              <pre style="line-height:13.5pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Hope it helps, </span><o:p></o:p></pre>
              <pre style="line-height:13.5pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></pre>
              <pre style="line-height:13.5pt"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Adam</span><o:p></o:p></pre>
              <p class="MsoNormal"> <o:p></o:p></p>
              <p class="MsoNormal"> <o:p></o:p></p>
              <div style="border:none;border-top:solid #B5C4DF
                1.0pt;padding:3.0pt 0in 0in 0in">
                <p class="MsoNormal"><b><span
                      style="font-size:12.0pt;color:black">From: </span></b><span
                    style="font-size:12.0pt;color:black">Bogdan-Andrei
                    Iancu
                    <a href="mailto:bogdan@opensips.org"
                      moz-do-not-send="true"><bogdan@opensips.org></a><br>
                    <b>Date: </b>Thursday, March 7, 2019 at 5:37 AM<br>
                    <b>To: </b>OpenSIPS devel mailling list <a
                      href="mailto:devel@lists.opensips.org"
                      moz-do-not-send="true">
                      <devel@lists.opensips.org></a>, Adam
                    Overbeeke <a
                      href="mailto:Adam.Overbeeke@genesys.com"
                      moz-do-not-send="true">
                      <Adam.Overbeeke@genesys.com></a><br>
                    <b>Subject: </b>Re: [OpenSIPS-Devel]
                    E_DLG_STATE_CHANGED missing dialog information for
                    ENDED state.</span><o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"> <o:p></o:p></p>
              </div>
              <p class="MsoNormal"><tt><span style="font-size:10.0pt">Hi
                    Adam,</span></tt><span
                  style="font-size:10.0pt;font-family:"Courier
                  New",serif"><br>
                  <br>
                  <tt>Sorry for the late reply.</tt><br>
                  <br>
                  <tt>How exactly are you trying to retrieve the dialog
                    info (during the TERMINATED event) ?</tt><br>
                  <br>
                  <tt>Regards,</tt><br>
                  <br>
                  <br>
                  <br>
                  <br>
                </span><o:p></o:p></p>
              <pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
              <pre> <o:p></o:p></pre>
              <pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
              <pre>  <a href="https://www.opensips-solutions.com" moz-do-not-send="true">https://www.opensips-solutions.com</a><o:p></o:p></pre>
              <pre>OpenSIPS Summit 2019<o:p></o:p></pre>
              <pre>  <a href="https://www.opensips.org/events/Summit-2019Amsterdam/" moz-do-not-send="true">https://www.opensips.org/events/Summit-2019Amsterdam/</a><o:p></o:p></pre>
              <div>
                <p class="MsoNormal">On 02/20/2019 04:55 PM, Adam
                  Overbeeke wrote:<o:p></o:p></p>
              </div>
              <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">Hello all, <o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">We are trying to use the dialog
                  event routes and ran into some unexpected behavior.
                  The issue is that we cannot retrieve the dialog
                  information when the dialog state transitions to
                  ENDED. We believe the dialog have been destroyed or
                  removed prior to firing the event change. Is it
                  possible to change this behavior in the synchronous
                  case? We understand design decision for asynchronous
                  handling but believe it should be possible to retrieve
                  the information in the synchronous case.
                  <o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">If our assumptions are incorrect,
                  we are open to ideas on how we could get the dialog
                  information during the ENDED state. We are considering
                  using a local cache in the meantime, but that will
                  duplicate a lot of information in our system. My hopes
                  are that we are just missing some function call. We
                  appreciate your help/response.
                  <o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">Thanks, <o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal">Adam <o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal"><span
                    style="font-family:"Times New
                    Roman",serif">Adam Overbeeke</span><o:p></o:p></p>
                <p class="MsoNormal"><span
                    style="font-family:"Times New
                    Roman",serif">Lead Voice Network Engineer,
                    PureCloud
                  </span><o:p></o:p></p>
                <p class="MsoNormal"><span
                    style="font-family:"Times New
                    Roman",serif"><img
                      style="width:3.0312in;height:.0937in"
                      id="Picture_x0020_8"
                      src="cid:part20.708CA4E3.5791A2C6@opensips.org"
                      alt="cid:image001.png@01D2DB78.7C3D8250" class=""
                      height="9" border="0" width="291"></span><o:p></o:p></p>
                <p class="MsoNormal"><a href="http://www.genesys.com/"
                    moz-do-not-send="true"><span
                      style="color:windowtext;text-decoration:none"><span
                        style="color:#0563C1"><img
                          style="width:1.4895in;height:.552in"
                          id="Picture_x0020_7"
                          src="cid:part21.DAC5807D.CE766F8F@opensips.org"
                          alt="cid:image002.png@01D2DB78.7C3D8250"
                          class="" height="53" border="0" width="143"></span></span></a><o:p></o:p></p>
                <p class="MsoNormal"><a
                    href="https://twitter.com/Genesys"
                    moz-do-not-send="true"><span
                      style="color:windowtext;text-decoration:none"><span
                        style="color:#0563C1"><img
                          style="width:.2604in;height:.2395in"
                          id="Picture_x0020_6"
                          src="cid:part23.E2582327.0CD43EE8@opensips.org"
                          alt="cid:image003.png@01D2DB78.7C3D8250"
                          class="" height="23" border="0" width="25"></span></span></a><a
href="http://www.linkedin.com/company/601919?trk=tyah"
                    moz-do-not-send="true"><span
                      style="color:windowtext;text-decoration:none"><span
                        style="color:#0563C1"><img
                          style="width:.2604in;height:.2395in"
                          id="Picture_x0020_5"
                          src="cid:part25.874676C0.0BDB0F89@opensips.org"
                          alt="cid:image004.png@01D2DB78.7C3D8250"
                          class="" height="23" border="0" width="25"></span></span></a><a
href="https://plus.google.com/+Genesyslab?rel=publisher"
                    moz-do-not-send="true"><span
                      style="color:windowtext;text-decoration:none"><span
                        style="color:#0563C1"><img
                          style="width:.2395in;height:.2395in"
                          id="Picture_x0020_4"
                          src="cid:part27.25CDADD9.E50F5979@opensips.org"
                          alt="cid:image005.png@01D2DB78.7C3D8250"
                          class="" height="23" border="0" width="23"></span></span></a><a
                    href="https://www.facebook.com/Genesys/"
                    moz-do-not-send="true"><span
                      style="color:windowtext;text-decoration:none"><span
                        style="color:#0563C1"><img
                          style="width:.2604in;height:.2395in"
                          id="Picture_x0020_3"
                          src="cid:part29.74C3F11B.4084B36E@opensips.org"
                          alt="cid:image006.png@01D2DB78.7C3D8250"
                          class="" height="23" border="0" width="25"></span></span></a><a
                    href="https://www.youtube.com/Genesys"
                    moz-do-not-send="true"><span
                      style="color:windowtext;text-decoration:none"><span
                        style="color:#0563C1"><img
                          style="width:.2604in;height:.2395in"
                          id="Picture_x0020_2"
                          src="cid:part31.424671AB.6E89561B@opensips.org"
                          alt="cid:image007.png@01D2DB78.7C3D8250"
                          class="" height="23" border="0" width="25"></span></span></a><a
                    href="http://blog.genesys.com/"
                    moz-do-not-send="true"><span
                      style="color:windowtext;text-decoration:none"><span
                        style="color:#0563C1"><img
                          style="width:.2395in;height:.2395in"
                          id="Picture_x0020_1"
                          src="cid:part33.F4A3760E.D9F7DF7E@opensips.org"
                          alt="cid:image008.png@01D2DB78.7C3D8250"
                          class="" height="23" border="0" width="23"></span></span></a><o:p></o:p></p>
                <p class="MsoNormal"> <o:p></o:p></p>
                <p class="MsoNormal"><br>
                  <br>
                  <br>
                  <br>
                  <br>
                  <br>
                  <o:p></o:p></p>
                <pre>_______________________________________________<o:p></o:p></pre>
                <pre>Devel mailing list<o:p></o:p></pre>
                <pre><a href="mailto:Devel@lists.opensips.org" moz-do-not-send="true">Devel@lists.opensips.org</a><o:p></o:p></pre>
                <pre><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/devel" moz-do-not-send="true">http://lists.opensips.org/cgi-bin/mailman/listinfo/devel</a><o:p></o:p></pre>
              </blockquote>
              <p class="MsoNormal"><br>
                <br>
                <br>
                <br>
                <br>
                <o:p></o:p></p>
            </blockquote>
            <p class="MsoNormal"><br>
              <br>
              <br>
              <br>
              <o:p></o:p></p>
          </blockquote>
          <p class="MsoNormal"><br>
            <br>
            <br>
            <o:p></o:p></p>
        </blockquote>
        <p class="MsoNormal"><br>
          <br>
          <o:p></o:p></p>
      </div>
    </blockquote>
    <br>
  </body>
</html>