Ok, I've just used this routing, it just shows thats its trying and the call never
goes through. Here is my openser.cfg with the data from ngrep. Not sure why the call wont
go through:
debug=3
fork=yes
log_stderror=no
listen=192.168.1.6
alias=test.com
port=5060
children=4
dns=no
rev_dns=no
fifo="/tmp/openser_fifo"
fifo_db_url="mysql://openser:openserrw@localhost/openser"
loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
loadmodule "/usr/local/lib/openser/modules/uri.so"
loadmodule "/usr/local/lib/openser/modules/uri_db.so"
loadmodule "/usr/local/lib/openser/modules/domain.so"
loadmodule "/usr/local/lib/openser/modules/nathelper.so"
loadmodule "/usr/local/lib/openser/modules/avpops.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
loadmodule "/usr/local/lib/openser/modules/xlog.so"
modparam("auth_db|uri_db|usrloc", "db_url",
"mysql://openser:openserrw@localhost/openser")
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "rtpproxy_sock",
"unix:/var/run/rtpproxy.sock")
modparam("usrloc", "db_mode", 2)
modparam("registrar", "nat_flag", 6)
modparam("rr", "enable_full_lr", 1)
modparam("tm", "fr_inv_timer", 27)
modparam("tm", "fr_inv_timer_avp", "inv_timeout")
route {
# -----------------------------------------------------------------
# Sanity Check Section
# -----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483", "Too Many Hops");
exit;
};
if (msg:len > max_len) {
sl_send_reply("513", "Message Overflow");
exit;
};
# -----------------------------------------------------------------
# Record Route Section
# -----------------------------------------------------------------
if (method!="REGISTER") {
record_route();
};
if (method=="BYE" || method=="CANCEL") {
unforce_rtp_proxy();
t_relay();
exit;
}
# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
if (loose_route()) {
if ((method=="INVITE" || method=="REFER") &&
!has_totag()) {
sl_send_reply("403", "Forbidden");
return;
};
if (method=="INVITE") {
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
return;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
return;
};
consume_credentials();
if (nat_uac_test("19")) {
setflag(6);
force_rport();
fix_nated_contact();
};
force_rtp_proxy("l");
};
route(1);
return;
};
# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------
if (uri!=myself) {
route(4);
route(1);
return;
};
if (method=="ACK") {
route(1);
return;
} else if (method=="CANCEL") {
route(1);
return;
} else if (method=="INVITE") {
route(3);
return;
} else if (method=="REGISTER") {
route(2);
return;
};
lookup("aliases");
if (uri!=myself) {
route(4);
route(1);
return;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
return;
};
route(1);
}
route[1] {
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------
t_on_reply("1");
if (!t_relay()) {
if (method=="INVITE" && isflagset(6)) {
unforce_rtp_proxy();
};
sl_reply_error();
};
}
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# ----------------------------------------------------------------
if (!search("^Contact:[ ]*\*") && nat_uac_test("19")) {
setflag(6);
fix_nated_register();
force_rport();
};
sl_send_reply("100", "Trying");
if (!www_authorize("","subscriber")) {
www_challenge("","0");
exit;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
return;
};
consume_credentials();
if (!save("location")) {
sl_reply_error();
};
}
route[3] {
# -----------------------------------------------------------------
# INVITE Message Handler
# -----------------------------------------------------------------
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
return;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
return;
};
consume_credentials();
if (nat_uac_test("19")) {
setflag(6);
}
lookup("aliases");
if (uri!=myself) {
route(4);
route(1);
return;
};
if (uri=~"^sip:\*[0-9]*@"){
xlog("Sip 2 Sip\n");
strip(1); #strip away the *
route(4);
route(1);
return;
};
if (!lookup("location")){
if (uri=~"^sip:[0-9]*@") {
xlog("PSTN Gateway\n");
route(4);
route(5);
return;
};
sl_send_reply("404", "User Not Found");
return;
};
route(4);
route(1);
}
route[4] {
# -----------------------------------------------------------------
# NAT Traversal Section
# -----------------------------------------------------------------
if (isflagset(6)) {
force_rport();
fix_nated_contact();
force_rtp_proxy();
}
}
route[5] {
# -----------------------------------------------------------------
# PSTN Handler
# -----------------------------------------------------------------
xlog("Routed to route 5\n");
rewritehostport("pstn.gateway:5060");
avp_write("i:45", "inv_timeout");
route(1);
}
onreply_route[1] {
if (isflagset(6) && status=~"(180)|(183)|2[0-9][0-9]") {
if (!search("^Content-Length:[ ]*0")) {
force_rtp_proxy();
};
};
if (nat_uac_test("1")) {
fix_nated_contact();
};
}
U 2006/06/29 14:33:43.120386 192.168.1.1:1027 -> 192.168.1.6:5060
INVITE sip:201@test.com SIP/2.0..Record-Route: <sip:192.168.1.6;f
tag=1535693657;lr=on>..Via: SIP/2.0/UDP 192.168.1.6;branch=z9hG4bK038c.2054
5ab4.0..Via: SIP/2.0/UDP 70.xxx.xxx.xx:5060;received=192.168.1.1;rport=5060
;branch=z9hG4bK5F856FB99EE741348558D3F5BDFB4199..From: Kenny
<sip:200@test.com>;tag=1535693657..To: <sip:*201@test.com>..Contact:
<sip:200@192.168.1.1:5060>..Call-ID: 0A64050F-C53B-4751-94FD-4658CB6CF37F@1
92.168.1.30..CSeq: 33944 INVITE..Max-Forwards: 69..Content-Type: applicatio
n/sdp..User-Agent: X-Lite release 1105x..Content-Length: 325....v=0..o=200
268371887 268371936 IN IP4 70.189.13.171..s=X-Lite..c=IN IP4 192.168.1.6..t
=0 0..m=audio 21088 RTP/AVP 0 8 3 98 97 101..a=rtpmap:0 pcmu/8000..a=rtpmap
:8 pcma/8000..a=rtpmap:3 gsm/8000..a=rtpmap:98 iLBC/8000..a=rtpmap:97 speex
/8000..a=rtpmap:101 telephone-event/8000..a=fmtp:101 0-15..a=sendrecv..a=no
rtpproxy:yes..
U 2006/06/29 14:33:43.120906 192.168.1.6:5060 -> 192.168.1.1:5060
SIP/2.0 407 Proxy Authentication Required..Via: SIP/2.0/UDP 192.168.1.6;bra
nch=z9hG4bK038c.20545ab4.0;received=192.168.1.1..Via: SIP/2.0/UDP
70.xxx.xxx.xxx:5060;received=192.168.1.1;rport=5060;branch=z9hG4bK5F856FB99EE74134855
8D3F5BDFB4199..From: Kenny <sip:200@test.com>;tag=1535693657..To:
<sip:*201@test.com>;tag=eb9822f1ed1b15a932bf98c097b3aaca.4dc7..C
all-ID: 0A64050F-C53B-4751-94FD-4658CB6CF37F@192.168.1.30..CSeq: 33944 INVI
TE..Proxy-Authenticate: Digest realm="test.com", nonce="44a42c439
d432ec2bff44d80632d0ec98b8d4d6e"..Server: OpenSer (1.0.1 (i386/linux))..Con
tent-Length: 0..Warning: 392 192.168.1.6:5060 "Noisy feedback tells: pid=7
010 req_src_ip=192.168.1.1 req_src_port=1027 in_uri=sip:201@test.com
out_uri=sip:201@test.com via_cnt==2"....
---------------------------------
Yahoo! Music Unlimited - Access over 1 million songs.Try it free.