<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" <<a
moz-do-not-send="true"
href="mailto:reviewboard@asterisk.org">reviewboard@asterisk.org</a>>:</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>