Thank Klaus,
I've try with t_suspend() and t_continue() as your guide,
*#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;
};*
And i found that t_suspend() and async_sleep() runnung ok but
t_continue() seems not running.
I read about TMX module and TMX module Pseudo-Variables but still can
not figure out it :(
Secondly, in case of t_continue() runs successfully , please tell me
how to let Kamailio resend the INVITE message
to client B (before the t_continue(), i think so ) - while client B is
waking up ?
Which functions and modules that i need to do this?
Thanks.
-----------------------------------------------------------------
Hi!
You have to use a failure route
(
http://kamailio.org/docs/modules/3.3.x/modules/tm.html#t_on_failure).
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]
http://kamailio.org/docs/modules/3.3.x/modules_k/tmx.html#id2535968
[2]
http://kamailio.org/docs/modules/3.3.x/modules/mqueue.html
On 24.07.2012 06:02, Duong Manh Truong wrote:
* Hi list,*>**>* My team are developing a SIP
client for mobile running iOS ,*>**>* then having to deal with the "back ground
mode" problem while this soft*>* is installed on mobiles*>**>* One of the
solutions is using APNS. (Apple Push Notification Service)*>**>* I wanna to use
Kamailio as SIP Redirect / Proxy for my current SIP server*>**>* The model is like
that:*>**>* User A <---------> Kamailio <---------> SIP server
<--------> User B*>**>* IF UserA call UserB, UserB is not available now (not
registered yet),*>* normally, SIP server will reply Kamailio with "404 Not
found"*>**>* In that case, i want to set up Kamailio do the communication with
APNS*>* and waiting for UserB "Wake up" then RESEND the Invite message
......*>* (instead of forwarding this 404 message to UserA)*>**>* I am getting
stuck at how Kamailio can control "404 Not found" message*>* which it
receives from SIP server .*>**>* I do searching around several days but still can
not get any clearer*>* points.*>**>* Please help me with some instruction/
configuration of Kamailio for this*>* case !*>**>* Thank you very
much.*>**>**>* _______________________________________________*>* SIP Express
Router (SER) and Kamailio (OpenSER) - sr-users mailing list*>* sr-users at
lists.sip-router.org
<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>*>*
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users*>**