[Kamailio-Users] Forward calls from Asterisk to SIP provider via Kamailio for termination
Slot Zero
slotzero1 at yahoo.com
Sat Feb 20 01:10:06 CET 2010
Hello,
I am a Kamailio noob :). I am trying to get Asterisk to forward calls to
my SIP provider via Kamailio. The same machine is running Kamailio and
Asterisk. I do not want to consume credentials as they have to be passed
on all the way to my SIP provider. There is no NAT of any sorts. SIP
Phone/Users connect to Asterisk.I do not need to authenticate when forwarding call from Asterisk to Kamailio as they are
both running on the same server but I do need to make sure that Kamailio
dials and forwards 011+number to be sent from local host port
5062(Asterisk listener) to SIP provider only. I have 6 Public IP addresses
mapped on the server. I want to use the force_send_socket to allow me to
change source IP of SIP requests when being sent to the SIP provider on the basis of credentials username in the request. I have pasted my config below. Please tell me what am I doing wrong here. In the kamctlrc file i have SIP_DOMAIN=localhost
Thank you
#------CONFIG BEGINS------------------
mpath="/lib/kamailio/modules_k/"
debug=3
fork=yes
children=4
auto_aliases=no
alias=localhost
alias=192.168.10.1
alias=192.168.10.2
alias=192.168.10.3
alias=192.168.10.4
alias=192.168.10.5
alias=192.168.10.6
disable_tcp=yes
loadmodule "sl.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "/lib/kamailio/modules/tm.so"
loadmodule "textops.so"
modparam("rr", "enable_full_lr", 1)
route {
# Sanity Check
# ------------
# filter too old messages
if (!mf_process_maxfwd_header("10")) {
log("LOG: Too many hops\n");
sl_send_reply("483","Too Many Hops");
break;
};
if(msg:len>2048) {
sl_send_reply("413", "message too large to be forwarded over UDP without fragmentation");
exit;
};
# Record Route and NAT Preset
# --------------------
if (method != "REGISTER") {
record_route();
};
# Loose Route
# -----------
if (loose_route()) {
route(1);
return;
};
# Call Type Processing
# --------------------
if (uri != myself) {
route(1);
return;
};
if (uri == myself) {
if (method == "BYE") {
route(4);
return;
} else if (method == "CANCEL") {
route(4);
return;
} else if (method == "INVITE") {
route(3);
return;
} else if (method == "NOTIFY") {
sl_send_reply("200", "Understood");
return;
} else if (method == "OPTIONS") {
sl_send_reply("200", "Got it");
return;
}
};
route(1);
}
# Default Message Handling
# -----------------------
route[1] {
t_on_reply("1");
if (!t_relay()) {
sl_reply_error();
};
}
# INVITE Message Handling
# ----------------------------------
# ----------------------------------
route[3] {
if (uri =~ "^sip:011[0-9]@*") {
rewritehostport("sip.voipprovider.com:5060");
if (search("^(Contact|m): .*user01*@(127\.0\.0\.1|localhost)")) {
force_send_socket(192.168.0.2:5060);
};
route(1);
return;
};
}
# CANCEL and BYE Message Handling
# ----------------------------------
route[4] {
route(1);
}
More information about the Users
mailing list