[Users] Using # for Sip 2 Sip calls
Kenny Chua
strain15 at yahoo.com
Thu Jun 29 21:36:36 CEST 2006
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 at 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 at test.com>;tag=1535693657..To: <sip:*201 at test.com>..Contact:
<sip:200 at 192.168.1.1:5060>..Call-ID: 0A64050F-C53B-4751-94FD-4658CB6CF37F at 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 at test.com>;tag=1535693657..To:
<sip:*201 at test.com>;tag=eb9822f1ed1b15a932bf98c097b3aaca.4dc7..C
all-ID: 0A64050F-C53B-4751-94FD-4658CB6CF37F at 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 at test.com out_uri=sip:201 at test.com via_cnt==2"....
---------------------------------
Yahoo! Music Unlimited - Access over 1 million songs.Try it free.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kamailio.org/pipermail/users/attachments/20060629/210688cb/attachment.htm
More information about the Users
mailing list