Hello,

On 3/13/12 7:23 PM, Jan Klepal wrote:
Hello,

I am trying to set simple no-answer forward scenario: Alice calls Bob and
after timeout 5s forward to Carol (and additionally Carol timeout forward to
Dave).

I am using Kamailio 3.2.2 default config. There is part of routing logic for
no-answer forwarding:

route[RELAY] {
     if(is_method("INVITE")) {
         t_set_fr(5000);
         t_on_branch("BRANCH_ONE");
         t_on_reply("REPLY_ONE");
         t_on_failure("FAIL_ONE");
     }
     if(!t_relay()) {
         sl_reply_error();
     }
}

branch_route[BRANCH_ONE] {
     $avp(divert) = $null;
     if($rU == "bob") {
         $avp(divert) = "carol";
     }
     # second problem
     if($rU == "carol") {
         $avp(divert) = "dave";
     }
}

failure_route[FAIL_ONE] {
     if($avp(divert) != $null) {
         add_diversion("no-answer");
         $rU = $avp(divert);
         route(LOOKUP);
         route(RELAY);
     }
}

First problem I encountered is that I can't check $rU in failure_route (it is
always set to original Request-URI - bob). Is this normal behavior or am I
missing something? Because of that I have to set divert destination in branch
route.
in failure route you have access to the value of r-uri before getting to any branch_route or failure_route. You can use an avp to store the value you would like to check later in tm specific routes.


Second problem is when Carol's no-answer forward to Dave happens. Then
add_diversion adds invalid diversion header because it uses Request-URI which
is still set to bob.

You can set the r-uri to the value you want before calling add_diversion, after that set it to what you want to be the destination.

Cheers,
Daniel

--
Daniel-Constantin Mierla
Kamailio Advanced Training, April 23-26, 2012, Berlin, Germany
http://www.asipto.com/index.php/kamailio-advanced-training/


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to