Hello list,

I have a proxy that manage fix calls and a proxy that manage mobile calls. I want to implement call forking so when I call to a fix phone the call goes to the fix proxy and it forks to the mobile proxy who manage the call and viceversa. I want the fix to ring 2 or 3 times before the mobile.

In order to do so in my fix proxy I added a diversion field with the reason "forking" and in my mobile proxy I check if the reason is "forking" to wait with the fonction "async_route" from the ASYNC module. When I call the fix I can fork to the mobile with delay without any problem because in that case my fix proxy manage one call and my mobile proxy the other one.

But when I call the mobile the call doesn't even get to my fix proxy because my mobile proxy has to make the original call to wait while he is forking the fix call to my other proxy. And i think that calling the async_route fonction makes both calls to wait.

My code is:

Fix proxy:


Mobile proxy:

   $var(z) = "1";


if($dir == "forking"){
   async_route("RELAY", "7");
}else if($var(z) == "1"){
   async_route("RELAY", "7");


How can I differentiate in the second scenario when I call the mobile phone to fork to the fix phone?

Thank you for your help.