<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 03/13/2013 11:42 AM, Olle E.
      Johansson wrote:<br>
    </div>
    <blockquote
      cite="mid:466BE82E-FA44-401B-83E2-D89BCD522A2B@edvina.net"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <br>
      <div>
        <div>13 mar 2013 kl. 17:36 skrev "Mark Michelson" &lt;<a
            moz-do-not-send="true"
            href="mailto:reviewboard@asterisk.org">reviewboard@asterisk.org</a>&gt;:</div>
        <br class="Apple-interchange-newline">
        <blockquote type="cite">
          <pre style="font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); margin: 0px; padding: 0px; white-space: pre-wrap; word-wrap: break-word; ">In order to keep things simple, there are certain operations we will not do if there is currently a reinvite transaction in progress. These things are
1) Send any sort of session refresh request (INVITE or UPDATE)
2) End a session
</pre>
          <br class="Apple-interchange-newline">
        </blockquote>
      </div>
      That's cool. So if Asterisk sends me a re-invite and I keep it
      happy sending a 18x every minute, you can not send a BYE!
      <div><br>
      </div>
      <div>Sweet. But not good. In fact, pretty dangerous. Keep working
        on this :-) There has to be a way to have two concurrent
        transactions open. You will need it anyway, like sending an
        UPDATE during an INVITE or PRACKs., those lovely glorius and
        sweet PRACKs.<br>
      </div>
    </blockquote>
    <tt><br>
      Your 183 scenario is interesting. I ran some double-checks where I
      ran your scenario and sure enough, it resulted in badness. Once
      one side hung up, the ast_channels were destroyed appropriately,
      but the SIP dialog remained active since there was never a BYE
      sent.<br>
      <br>
      I made a local change that simply removed the restriction that
      prevented us from attempting to end a session while a reinvite
      transaction is active. What I found was that with phones, I was
      able to successfully send a BYE and things just worked. So I'll
      make this change and put it back up on the review request.<br>
      <br>
      Regarding UPDATE: it may be possible to look at the SDP
      negotiation state during a reinvite to be able to tell if it's
      possible to send an UPDATE, but unless this actually becomes an
      issue, I'm not going to pursue this very fervently yet. The reason
      is that I find it incredibly unlikely that Asterisk will need to
      send multiple session refreshes in rapid succession. Like I said,
      if it becomes problematic, this can be revisited.<br>
      <br>
      Regarding PRACK: PRACK is already taken care of for us by the
      pjsip_inv_session layer. If we get a provisional response with
      Require: 100rel, we'll send a PRACK automatically.<br>
      <br>
      Mark Michelson<br>
    </tt>
  </body>
</html>