<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
is still work on this patch on personal branches? I have seen Jason
committing stuff, although some patched seemed to be to sip request
suspend/continue.<br>
<br>
Also, for review, would be good to have a single patch generated
(diff between the branches), because is hard to follow with patches
to patches.<br>
<br>
Cheers,<br>
Daniel<br>
<br>
<div class="moz-cite-prefix">On 7/8/13 12:38 PM, Richard Good wrote:<br>
</div>
<blockquote
cite="mid:CAOvD114ah39MtgmarNrNFP6Q-CEoq0WYzqABggz=Hf6cS7+_ww@mail.gmail.com"
type="cite">
<div dir="ltr">
<div><span style="color:rgb(0,0,255)"><span
style="background-color:rgb(255,255,255)">Hi <br>
<br>
Thanks very much for the quick feedback. My comments
inline.</span></span><br>
<br>
<span style="color:rgb(0,0,255)"><span
style="background-color:rgb(255,255,255)"></span></span><span
style="color:rgb(0,0,255)"><span
style="background-color:rgb(255,255,255)">Regards<br>
Richard.</span></span><br>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On 6 July 2013 19:48,
Daniel-Constantin Mierla <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:miconda@gmail.com"
target="_blank">miconda@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Hello,<br>
<br>
the patch cannot be applied as it is. The comments
contain references to request processing, which is
obviously wrong. Then I have seen code specific to
requests, like managing the request uri or dst uri --
these fields shouldn't be set for replies, it's ok as
safety to clear them up, but not cloning.<br>
</div>
</blockquote>
<div><span style="color:rgb(0,0,255)"><span
style="background-color:rgb(255,255,255)"><br>
I've gone through the code (and comments) in detail
and removed all incorrect references to request code.
I've also removed the dst/request URI management from
the faked_resp method. Attached is the patch for
these changes.</span></span><br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> <br>
From the patch I see the new function are only for
internal usage, not for config file. Are they supposed
to be used only in the transaction context (i.e., after
the transaction is matched for reply)?<br>
</div>
</blockquote>
<div> <br>
</div>
<div><span style="color:rgb(0,0,255)"><span
style="background-color:rgb(255,255,255)">This patch
closely follows the pattern of the t_suspend(),
t_continue() functions that are for programmatic use
only. We use the t_suspend_reply() and
t_continue_reply() functions in the ims_qos module so
did not need to expose it to the config file.<br>
</span></span><span style="color:rgb(0,0,255)"><span
style="background-color:rgb(255,255,255)"><br>
</span></span></div>
<div><span style="color:rgb(0,0,255)"><span
style="background-color:rgb(255,255,255)">I suppose
the suspend functionality for requests and responses
could be exposed to the config file if required - but
it has not been done in this patch.<br>
</span></span></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> <br>
Cheers,<br>
Daniel
<div>
<div class="h5"><br>
<br>
<div>On 7/4/13 5:24 PM, Richard Good wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div class="h5">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>Hi<br>
<br>
</div>
I've finally got working
functionality for t-suspend and
t_continue for SIP responses in
the tmp/tm_async_reply_support
branch.<br>
<br>
</div>
I've memory and load tested the
branch and have also isolated the
changes so that if there are
problems they will only be
experienced if you use the new API
functions.<br>
<br>
</div>
However keeping mind that TM can be
tricky to program (as mentioned in the
documentation ;)) - I've included
below a summary of the changes and a
git diff against the latest master.
So the TM experts can have a look and
see if there are any obvious problems.
<br>
<br>
If there are no complaints or queries
I will commit the changes to master
next week Friday (July 12).<br>
<br>
</div>
<div>Regards<br>
Richard.<br>
</div>
<div><br>
</div>
Change summary:<br>
1. parser/msg_parser.h: added new
message state FL_RPL_SUSPENDED<br>
</div>
2. tm_load.c: new api functions: <b>t_suspend_reply</b>,
<b>t_continue_reply</b> and <b>t_cancel_suspend_reply</b><br>
3. t_suspend.c/h: new methods: <b>t_suspend_reply</b>,
<b>t_continue_reply</b> and <b>t_cancel_suspend_reply<br>
</b>4. tm/t_reply.c: if msg is in state
FL_RPL_SUSPENDED then we skip sending the
<span>reply</span> on<br>
</div>
5. tm/t_reply.c/h: new methods to fake env
for responses: <b>faked_env_resp,
faked_resp, free_faked_resp<br>
</b></div>
6. API documentation to include new
functions: <b>t_suspend_reply</b>, <b>t_continue_reply</b>
and <b>t_cancel_suspend_reply<br>
<br>
</b></div>
<b><br>
</b>
<div>
<div>
<div>
<div><b><br>
</b>
<div><br>
<div>
<div><br>
<br>
<div>
<div>
<div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On
18 March 2013 14:13,
Richard Good <span
dir="ltr"><<a
moz-do-not-send="true"
href="mailto:richard.good@smilecoms.com" target="_blank">richard.good@smilecoms.com</a>></span>
wrote:<br>
<blockquote
class="gmail_quote"
style="margin:0px 0px
0px
0.8ex;border-left:1px
solid
rgb(204,204,204);padding-left:1ex">Hi
Daniel and other TM
experts<br>
<br>
We have been working
on a prototype for
being able to use the
t_suspend() and
t_continue() methods
for SIP responses.
The version in branch
/tmp/tm_async_reply_support
is working, though
still needs to be 100%
tested and only works
for 1 branch (i.e. no
forking)<br>
<br>
Would it be possible
for you to have a look
at this branch code
and see if we are on
the right track. The
code is working but TM
(as mentioned in the
documentation ;)) can
be tricky to program
and we want to make
sure we are not
breaking anything, as
the goal is to get
this into the master
branch.<br>
<br>
The changes we have
done:<br>
<ol>
<li>parser/msg_parser.h:
added new message
state
FL_RPL_SUSPENDED</li>
<li>tm/h_table.h:
added int
suspended_request
to ua_server and
int
suspended_reply to
ua_client</li>
<li>tm/t_suspend.c:t_suspend</li>
<ol>
<li>Changed
suspend method
to check if the
message is a
request or
response and set
the
suspended_request/suspended_reply
variable
accordingly</li>
<li>If its a
request we do as
the existing
code<br>
</li>
<li>If its a
response we get
the correct uac
branch, clone
the msg into
t->uac[branch].reply
and set the msg
state to
FL_RPL_SUSPENDED</li>
</ol>
<li>tm/t_reply.c: if
msg is in state
FL_RPL_SUSPENDED
then we skip
sending the reply
on<br>
</li>
<li>tm/t_suspend.c:t_continue</li>
<ol>
<li>Check if this
uas was
suspended - if
so this is a
continue for a
request so
continue with
existing code<br>
</li>
<li>If not then we
search for the
branch that was
suspended</li>
<li>Once branch is
found unsuspend
the message
state</li>
<li>do pre-script,
run_top_route
and post scripts</li>
<li>Relay the
reply using
basically the
same code we
skipped in step
4</li>
</ol>
</ol>
<p>First next step
after we confirm we
are on the right
track is to add
forking support -
this will require a
new t_continue
method where the
calling application
passes in the branch
of the suspended
reply when wanting
to continue.</p>
<p>Any
comments/feedback
would be
appreciated. <br>
</p>
<p>Regards</p>
<span><font
color="#888888">
<p>Richard.<br>
</p>
</font></span>
<div>
<div>
<p><br>
</p>
<p><br>
</p>
<br>
<br>
<br>
<br>
<div
class="gmail_quote">On
11 March 2013
14:34,
Daniel-Constantin
Mierla <span
dir="ltr"><<a
moz-do-not-send="true" href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>></span>
wrote:<br>
<blockquote
class="gmail_quote"
style="margin:0px
0px 0px
0.8ex;border-left:1px
solid
rgb(204,204,204);padding-left:1ex">
<div
text="#000000"
bgcolor="#FFFFFF"> Hello,<br>
<br>
t_suspend()
and
t_continue()
are only for
requests at
this moment.<br>
<br>
Cheers,<br>
Daniel
<div>
<div><br>
<br>
<div>On 3/6/13
2:49 PM,
Richard Good
wrote:<br>
</div>
</div>
</div>
<blockquote
type="cite">
<div>
<div>Hi<br>
<br>
We are using
the t_suspend
and t_continue
functionality
to
asynchronously
send Diameter
messages. <br>
<br>
This works
nicely when we
suspend and
resume on a
SIP request.
However in
some
circumstances
we want to
send a
Diameter
message on a
SIP response.<br>
<br>
I have found
that the SIP
responses
continue to be
relayed
despite being
suspended and
returning 0 to
the cfg file.<br>
<br>
I am
investigating
the cause but
before I get
any deeper
does anyone
know if the
t_suspend and
t_continue
functionality
in the tm
module can be
used on a SIP
response?<br>
<br>
Regards<br>
Richard.
<table
style="width:450pt"
border="0"
cellpadding="0"
cellspacing="0" width="600">
<tbody>
<tr
style="min-height:10.5pt">
<td
rowspan="3"
style="width:173.25pt;padding:0cm;min-height:10.5pt"
valign="top"
width="231"> <br>
</td>
<td
style="padding:0cm;min-height:10.5pt"
valign="top"><br>
</td>
</tr>
<tr
style="min-height:42.75pt">
<td
style="padding:0cm;min-height:42.75pt"
valign="top"><br>
</td>
</tr>
</tbody>
</table>
<span
style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px"></span>
</div>
</div>
<pre>This email is subject to the disclaimer of Smile Communications (PTY) Ltd. at <a moz-do-not-send="true" href="http://www.smilecoms.com/disclaimer" target="_blank">http://www.smilecoms.com/disclaimer</a>
<fieldset></fieldset>
<pre>_______________________________________________
sr-dev mailing list
<a moz-do-not-send="true" href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a>
<a moz-do-not-send="true" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a>
</pre>
</pre>
<span><font
color="#888888">
</font></span></blockquote>
<span><font
color="#888888">
<br>
<pre cols="72">--
Daniel-Constantin Mierla - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Kamailio World Conference, April 16-17, 2013, Berlin
- <a moz-do-not-send="true" href="http://conference.kamailio.com" target="_blank">http://conference.kamailio.com</a> -</pre>
</font></span></div>
<br>
_______________________________________________<br>
sr-dev mailing
list<br>
<a
moz-do-not-send="true"
href="mailto:sr-dev@lists.sip-router.org" target="_blank">sr-dev@lists.sip-router.org</a><br>
<a
moz-do-not-send="true"
href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev"
target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a><br>
<br>
</blockquote>
</div>
<table
style="width:450pt"
border="0"
cellpadding="0"
cellspacing="0"
width="600">
<tbody>
<tr
style="min-height:10.5pt">
<td
rowspan="3"
style="width:173.25pt;padding:0cm;min-height:10.5pt"
valign="top"
width="231"> <br>
</td>
<td
style="padding:0cm;min-height:10.5pt"
valign="top"><br>
</td>
</tr>
<tr
style="min-height:42.75pt">
<td
style="padding:0cm;min-height:42.75pt"
valign="top"><br>
</td>
</tr>
</tbody>
</table>
<span
style="border-collapse:collapse;font-family:arial,sans-serif;font-size:13px"></span></div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<pre>This email is subject to the disclaimer of Smile Communications at <a moz-do-not-send="true" href="http://www.smilecoms.com/disclaimer" target="_blank">http://www.smilecoms.com/disclaimer</a>
</pre>
</blockquote>
<div class="im"> <br>
<pre cols="72">--
Daniel-Constantin Mierla - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
</pre>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
<pre>This email is subject to the disclaimer of Smile Communications at <a class="moz-txt-link-freetext" href="http://www.smilecoms.com/disclaimer">http://www.smilecoms.com/disclaimer</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Daniel-Constantin Mierla - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
</pre>
</body>
</html>