Hi All,
I am trying to have a failover route where if a initial relay fails , i can
forward the same request to a second provider.
I am using a certain set of headers that help to authenticate over my
providers. I am trying to update those headers. However update and removal
both fail. The headers are still present. Please help me understand if i am
wrong. Here's the code.
.....
route(GET_CREDENTIALS);
}
remove_hf_re("X-*");
append_hf("X-Src-IP: Trusted\r\n", "Call-ID");
append_hf("X-Identity: $hdr(X-Calling-User)\r\n", "Call-ID");
append_hf("X-Auth-ID: $avp(siptrunk_username)\r\n", "Call-ID");
$avp(realm) = $fd;
$rd = $avp(siptrunk_domain);
$var(duri) = "sip:"+$rU+"@"+$avp(siptrunk_proxy);
$du = $var(duri);
t_on_failure("UAC_AUTH");
if(!t_relay()) {
sl_reply_error();
exit;
}
}
failure_route[UAC_AUTH] {
if(t_check_status("(4|5)[0|8][0|2|3|4|6|8]")){
xlog("L_INFO","failover testing");
revert_uri();
route(FAILOVER);
}
if (t_check_status("40[17]")) {
xlog("got challenged \n");
uac_auth();
xlog("L_INFO", "Return code is $retcode");
$rd = $avp(siptrunk_proxy);
t_on_failure("UAC_AUTH");
t_relay();
}
}
route[FAILOVER]{
xlog("L_INFO","doing failover now.. ");
if($avp(failover_routing_id)!=$null) {
$avp(outbound_routing_id)=$avp(failover_routing_id);
xlog("L_INFO","Failover carrier credentials are..");
route(GET_CREDENTIALS);
#not adding headers now
remove_hf_re("X-*");
append_hf("X-Src-IP: Trusted\r\n", "Call-ID");
append_hf("X-Identity: $hdr(X-Calling-User)\r\n", "Call-ID");
append_hf("X-Auth-ID: $avp(siptrunk_username)\r\n", "Call-ID");
$avp(realm) = $fd;
$rd = $avp(siptrunk_proxy);
$var(duri) = "sip:"+$rU+"@"+$avp(siptrunk_proxy);
$du = $var(duri);
xlog("L_INFO","Destination Uri from failover is : $du");
t_on_failure("UAC_AUTH2");
if(!t_relay()) {
sl_reply_error();
exit;
}
exit;
}
}
failure_route[UAC_AUTH2] {
if(t_check_status("(4|5)[0|8][0|2|3|4|6|8]")){
xlog("L_INFO","Failover failed. cancelled call ");
exit;
}
if (t_check_status("40[17]")) {
xlog("got challenged \n");
uac_auth();
xlog("L_INFO", "Return code is $retcode");
$rd = $avp(siptrunk_proxy);
t_relay();
}
exit;
}
Thanking You,
Sunil More
Hi folk!
Have an issue, and do not see the obvious way how to solve it, maybe i'm
missing something.
The call scenario:
UA-A (hard phone, no rtpengine) call ->> UA-B (has 2 registration: hard
phone (no rtpengine) and WebRTC based web phone (here the rtpengine is
called, in branch_route))
When Kamailio fork call to UA-B, for the branch with WebRTC UA, I do
rtpengine_manage (rtpengine receive command "offer" and allocate 4 ports).
If UA-B answer via hard phone, Kamailio Cancel branch to WebRTC phone, and
here I need to do rtpengine_manage (to send "delete" command to rtpengine).
But as I see Kamailio CANCEL all nonanswered branches automatically (I see
no place where to call rtpengine_delete)
Any suggestion how to cope with such issue?
cheers!
--
View this message in context: http://sip-router.1086192.n5.nabble.com/issue-with-sending-delete-to-rtpeng…
Sent from the Users mailing list archive at Nabble.com.
Dear all,
I have installed Kamailio and Rtpproxy. Following is the process (ps) info:
"kamailio 648 1 0 Oct08 ? 00:00:05 /usr/bin/rtpproxy -s
udp:127.0.0.1 7722 -u kamailio kamailio -p /var/run/rtpproxy/rtpproxy.pid -l
192.168.58.25"
But when I give command: " kamctl mi nh_show_rtpp" it returns following:
"500 command 'nh_show_rtpp' not available"
What could be the problem?
Thanks,
Amar.
Hi,
I set instant message store&forward in kamailio using MSILO module. It works fine in many cases.
We have special message handing (encryption in "session"), i do not go into detail since it is not necessarily to solve the problem.
So there are situations, when the offline receiver should get a MESSAGE and will acknowledge with 4xx status code, like 493: the original message is stored in silo table and when the receiver will be online, it will be dumped and he will send 493.
Question: how can I delete the message from silo table with MSILO (since it is not 2xx) and how can i forward this ack message to the original sender instead kamailio?
Thanks.
Dr. Péter Barabás
Director of Software Development
Arenim Technologies AB.