[Kamailio-Users] Problem with call on hold
Diego Zuaneti Arruda
diego at fasternet.com.br
Thu Oct 9 16:57:17 CEST 2008
Sorry, I forgot to send the kamailio.cfg.
route{
#
# -- 1 -- Request Validation
#
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
if(!is_method("REGISTER")){
if(nat_uac_test("19")){
record_route(";nat=yes");
} else {
record_route();
};
};
if (has_totag()) {
#sequential request withing a dialog should
# take the path determined by record-routing
if (loose_route()) {
if(method=="BYE") {
#Account BYE transactions
setflag(2);
};
if(method=="BYE" || method=="CANCEL") {
end_media_session();
};
##Detect requests in the dialog behind NAT and flag
with 6
if(nat_uac_test("19") ||
search("^Route:.*;nat=yes")){
append_hf("P-hint:
LR|fixcontact,setflag6\r\n");
fix_contact();
setbflag(6);
};
route(1);
} else {
sl_send_reply("404","Not here");
}
exit;
}
if (loose_route()) {
if(!has_totag()){
sl_send_reply("403", "Initial Loose-Routing
Rejected");
exit;
};
route(1);
};
if (is_method("CANCEL")) {
if (t_check_trans()) {
end_media_session();
t_relay();
};
exit;
}
t_check_trans();
if (method=="REGISTER") {
route(2);
} else {
route(3);
};
}
route[1] {
t_on_reply("1");
t_on_failure("1");
if (!t_relay()) {
sl_reply_error();
};
exit;
}
route[2] {
## Register request handler
if (is_uri_host_local()) {
if (!radius_www_authorize("")) {
www_challenge("", "0");
exit;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
exit;
};
if(!search("^Contact:[ ]*\*") && client_nat_test("7")) {
setbflag(6);
fix_nated_register();
force_rport();
};
save("location");
exit;
} else if {
sl_send_reply("401", "Unauthorized");
};
}
route[3] {
if (method=="INVITE") {
# Account INVITE packets
setflag(2);
# Account Missed calls
setflag(3);
# Radius Extra
$avp(s:sip_proxy_ip)="127.0.0.1";
};
if (is_from_local()){
# From an internal domain -> check the credentials and the
FROM
if(!allow_trusted()){
if (!radius_proxy_authorize("", "$ci")) {
proxy_challenge("","0");
exit;
} else if (!check_from()) {
sl_send_reply("403", "Forbidden, use
From=ID");
exit;
};
};
if (client_nat_test("3")) {
setbflag(7);
force_rport();
fix_contact();
};
consume_credentials();
#Verify aliases, if found replace R-URI.
lookup("aliases");
if (is_uri_host_local()) {
# -- Inbound to Inbound
route(10);
}
};
}
route[6] {
#
# -- NAT handling --
#
if (isbflagset(6) || isbflagset(7)) {
append_hf("P-hint: Route[6]: mediaproxy \r\n");
use_media_proxy();
};
}
route[10] {
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
route(6);
route(1);
}
failure_route[1] {
if (t_was_cancelled()) {
exit;
}
if (isbflagset(6) || isbflagset(7)) {
end_media_session();
};
}
onreply_route[1] {
#
#-- On-replay block routing --
#
if (client_nat_test("1")) {
append_hf("P-hint: Onreply-route - fixcontact \r\n");
fix_contact();
};
if ((isbflagset(6) || isbflagset(7)) &&
(status=~"(180)|(183)|2[0-9][0-9]")) {
if (search("^Content-Type:[ ]*application/sdp")) {
xlog("L_INFO", "Onreply-route: M=$rm RURI=$ru F=$fu
T=$tu IP=$si ID=$ci\n");
append_hf("P-hint: Onreply-route - usemediaproxy
\r\n");
use_media_proxy();
};
};
exit;
}
Thanks.
Diego.
----- Original Message -----
From: "Diego Zuaneti Arruda" <diego at fasternet.com.br>
To: <users at lists.kamailio.org>
Sent: Thursday, October 09, 2008 11:29 AM
Subject: [Kamailio-Users] Problem with call on hold
> Hi all,
>
> I'm having a problem when the user places the call on hold.
> When the user removes the call on hold, only one side hears the call.
> Does anyone know what is wrong?
> The dialog of the call is attached.
>
>
>
> Thanks.
> Diego.
>
More information about the Users
mailing list