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.