<pre>Thank Klaus, </pre><pre>I've try with t_suspend() and t_continue() as your guide, </pre><pre><i>#Failure route to react with negative messages
failure_route[1] {
if (t_check_status("5[0-9][2-9]"))
{ if(t_suspend())
{
xlog("proceesing suspended in trasaction [$T(id_index):$T(id_label)]\n");
         xlog("before sleep \n");
}
if(async_sleep("20"))
xlog("After sleep 20s \n");
if(t_continue('1','1','MYROUTE'))
xlog("Continuation successfully \n");
exit;
};</i></pre><pre><br></pre><pre>And i found that t_suspend() and async_sleep() runnung ok but t_continue() seems not running. </pre><pre>I read about TMX module and TMX module Pseudo-Variables but still can not figure out it :(</pre>
<pre><br></pre><pre>Secondly, in case of t_continue() runs successfully , please tell me how to let Kamailio resend the INVITE message </pre><pre>to client B (before the t_continue(), i think so ) - while client B is waking up ? </pre>
<pre>Which functions and modules that i need to do this?</pre><pre>Thanks.</pre><pre>-----------------------------------------------------------------</pre><pre>Hi!
You have to use a failure route
(<a href="http://kamailio.org/docs/modules/3.3.x/modules/tm.html#t_on_failure">http://kamailio.org/docs/modules/3.3.x/modules/tm.html#t_on_failure</a>).
In the failure route check if the reply code is 404 and if yes, trigger
the APNS logic and then put the call e.g. on a stack and resume e.g.
every second and ofrward to the "SIP server" again to see if the client
is registered meanwhile.
For the asynchronous processing take a look at these functions:
t_suspend(),t_resume()[1]. For example you can call t_resume in a timer
route every second. For the timer route, to know which transactions are
currently suspended and are waiting for further processing, you could
put the transaction identifiers in a message-queue [2] and read the
queue from the timer route.
regards
Klaus
[1] <a href="http://kamailio.org/docs/modules/3.3.x/modules_k/tmx.html#id2535968">http://kamailio.org/docs/modules/3.3.x/modules_k/tmx.html#id2535968</a>
[2] <a href="http://kamailio.org/docs/modules/3.3.x/modules/mqueue.html">http://kamailio.org/docs/modules/3.3.x/modules/mqueue.html</a>
On 24.07.2012 06:02, Duong Manh Truong wrote:
><i> Hi list,
</i>><i>
</i>><i> My team are developing a SIP client for mobile running iOS ,
</i>><i>
</i>><i> then having to deal with the "back ground mode" problem while this soft
</i>><i> is installed on mobiles
</i>><i>
</i>><i> One of the solutions is using APNS. (Apple Push Notification Service)
</i>><i>
</i>><i> I wanna to use Kamailio as SIP Redirect / Proxy for my current SIP server
</i>><i>
</i>><i> The model is like that:
</i>><i>
</i>><i> User A <---------> Kamailio <---------> SIP server <--------> User B
</i>><i>
</i>><i> IF UserA call UserB, UserB is not available now (not registered yet),
</i>><i> normally, SIP server will reply Kamailio with "404 Not found"
</i>><i>
</i>><i> In that case, i want to set up Kamailio do the communication with APNS
</i>><i> and waiting for UserB "Wake up" then RESEND the Invite message ......
</i>><i> (instead of forwarding this 404 message to UserA)
</i>><i>
</i>><i> I am getting stuck at how Kamailio can control "404 Not found" message
</i>><i> which it receives from SIP server .
</i>><i>
</i>><i> I do searching around several days but still can not get any clearer
</i>><i> points.
</i>><i>
</i>><i> Please help me with some instruction/ configuration of Kamailio for this
</i>><i> case !
</i>><i>
</i>><i> Thank you very much.
</i>><i>
</i>><i>
</i>><i> _______________________________________________
</i>><i> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
</i>><i> <a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">sr-users at lists.sip-router.org</a>
</i>><i> <a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
</i>><i>
</i>
</pre><br class="Apple-interchange-newline">