U 2007/05/17 18:09:23.135336 10.14.18.224:5061 -> 10.14.18.22:5060 INVITE sip:8989@10.14.18.22:5060 SIP/2.0. Via: SIP/2.0/UDP 127.0.0.1:5061;branch=z9hG4bK-2008-1-0. From: sipp ;tag=2008SIPpTag001. To: sut . Call-ID: 1-2008@127.0.0.1. CSeq: 1 INVITE. Contact: sip:sipp@127.0.0.1:5061. Max-Forwards: 70. Subject: Performance Test. Content-Type: application/sdp. Content-Length: 129. . v=0. o=user1 53655765 2353687637 IN IP4 127.0.0.1. s=-. c=IN IP4 127.0.0.1. t=0 0. m=audio 6000 RTP/AVP 0. a=rtpmap:0 PCMU/8000. U 2007/05/17 18:09:23.138264 10.14.18.22:5060 -> 10.14.18.224:5061 SIP/2.0 100 trying -- your call is important to us. Via: SIP/2.0/UDP 127.0.0.1:5061;branch=z9hG4bK-2008-1-0;rport=5061;received=10.14.18.224. From: sipp ;tag=2008SIPpTag001. To: sut . Call-ID: 1-2008@127.0.0.1. CSeq: 1 INVITE. Server: OpenSer (1.1.1-notls (i386/linux)). Content-Length: 0. Warning: 392 10.14.18.22:5060 "Noisy feedback tells: pid=28258 req_src_ip=10.14.18.224 req_src_port=5061 in_uri=sip:8989@10.14.18.22:5060 out_uri=sip:8989@aoeu.homeip.net:5060 via_cnt==1". . ------------------------ ------------------------ OpenSER tries to send this out to another GW that sends back a 404 ------------------------ ------------------------ U 2007/05/17 18:09:23.173589 10.14.18.22:5060 -> 10.14.18.224:5061 SIP/2.0 404 Not Found. Via: SIP/2.0/UDP 127.0.0.1:5061;received=10.14.18.224;branch=z9hG4bK-2008-1-0. From: sipp ;tag=2008SIPpTag001. To: sut ;tag=as48d10a28. Call-ID: 1-2008@127.0.0.1. CSeq: 1 INVITE. User-Agent: Asterisk PBX. Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER. Contact: . Content-Length: 0. . U 2007/05/17 18:09:23.173907 10.14.18.224:5061 -> 10.14.18.22:5060 ACK sip:8989@10.14.18.22:5060 SIP/2.0. Via: SIP/2.0/UDP 127.0.0.1:5061;branch=z9hG4bK-2008-1-0. From: sipp ;tag=1. To: sut ;tag=as48d10a28. Call-ID: 1-2008@127.0.0.1. CSeq: 0 ACK. Contact: . Max-Forwards: 70. Subject: Performance Test. Content-Length: 0. . U 2007/05/17 18:09:23.174773 10.14.18.22:5060 -> 10.14.18.22:5060 ACK sip:8989@10.14.18.22:5060 SIP/2.0. Record-Route: . Via: SIP/2.0/UDP 10.14.18.22;branch=0. Via: SIP/2.0/UDP 127.0.0.1:5061;received=10.14.18.224;branch=z9hG4bK-2008-1-0. From: sipp ;tag=1. To: sut ;tag=as48d10a28. Call-ID: 1-2008@127.0.0.1. CSeq: 0 ACK. Contact: . Max-Forwards: 69. Subject: Performance Test. Content-Length: 0. . U 2007/05/17 18:09:23.174935 10.14.18.22:5060 -> 10.14.18.22:5060 ACK sip:8989@10.14.18.22:5060 SIP/2.0. Record-Route: . Record-Route: . Via: SIP/2.0/UDP 10.14.18.22;branch=0. Via: SIP/2.0/UDP 10.14.18.22;branch=0. Via: SIP/2.0/UDP 127.0.0.1:5061;received=10.14.18.224;branch=z9hG4bK-2008-1-0. From: sipp ;tag=1. To: sut ;tag=as48d10a28. Call-ID: 1-2008@127.0.0.1. CSeq: 0 ACK. Contact: . Max-Forwards: 68. Subject: Performance Test. Content-Length: 0. . U 2007/05/17 18:09:23.175014 10.14.18.22:5060 -> 10.14.18.22:5060 ACK sip:8989@10.14.18.22:5060 SIP/2.0. Record-Route: . Record-Route: . Record-Route: . Via: SIP/2.0/UDP 10.14.18.22;branch=0. Via: SIP/2.0/UDP 10.14.18.22;branch=0. Via: SIP/2.0/UDP 10.14.18.22;branch=0. Via: SIP/2.0/UDP 127.0.0.1:5061;received=10.14.18.224;branch=z9hG4bK-2008-1-0. From: sipp ;tag=1. To: sut ;tag=as48d10a28. Call-ID: 1-2008@127.0.0.1. CSeq: 0 ACK. Contact: . Max-Forwards: 67. Subject: Performance Test. Content-Length: 0. . ------------------------ ------------------------ This continues to build and build ------------------------ ------------------------ openser.cfg route sections follow ======================== ======================== route { # ----------------------------------------------------------------- # Sanity Check Section # ----------------------------------------------------------------- if (!mf_process_maxfwd_header("10")) { sl_send_reply("483", "Too Many Hops"); return; }; if (msg:len > max_len) { sl_send_reply("513", "Message Overflow"); return; }; # ----------------------------------------------------------------- # Record Route Section # ----------------------------------------------------------------- if (method!="REGISTER") { record_route(); }; # ----------------------------------------------------------------- # Call Tear Down Section # ----------------------------------------------------------------- if (method=="BYE" || method=="CANCEL") { unforce_rtp_proxy(); }; # ----------------------------------------------------------------- # Loose Route Section # ----------------------------------------------------------------- if (loose_route()) { xlog("L_INFO", "Loose routing()...\n"); if (has_totag() && (method=="INVITE" || method=="ACK")) { setflag(6); force_rport(); fix_nated_contact(); force_rtp_proxy("i"); }; route(1); return; }; # ----------------------------------------------------------------- # Call Type Processing Section # ----------------------------------------------------------------- #xlog("L_INFO", "request method: [$rm], from URI: [$fu], To URI: [$tu]\n"); if (method=="CANCEL") { route(1); return; } else if (method=="INVITE") { route(3); return; } else if (method=="REGISTER") { route(2); return; } else if (method=="ACK") { route(1); return; } else if (method == "NOTIFY") { sl_send_reply("200", "Understood"); return; } else if ((method==OPTIONS) && (! uri=~"sip:.*[@]+.*")) { options_reply(); 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"); setflag(1); if (!t_relay()) { if (method=="INVITE" || method=="ACK") { unforce_rtp_proxy(); }; sl_reply_error(); }; } route[2] { # ----------------------------------------------------------------- # REGISTER Message Handler # ----------------------------------------------------------------- sl_send_reply("100", "Trying"); if (!search("^Contact:[ ]*\*")) { setflag(6); fix_nated_register(); force_rport(); }; if (!save("location")) { sl_reply_error(); }; } route[3] { # ----------------------------------------------------------------- # INVITE Message Handler # ----------------------------------------------------------------- setflag(6); lookup("aliases"); if (uri!=myself) { route(4); route(1); return; }; if (!lookup("location")) { if (uri=~"^sip:[0-9]+@") { # PSTN 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("i"); }; } route[5] { # ----------------------------------------------------------------- # PSTN Handler # ----------------------------------------------------------------- # Proxy (Round-Robin, SIP-Proxies) ds_select_domain("1", "4"); t_on_failure("1"); route(4); route(1); } onreply_route[1] { if (isflagset(6) && (status=~"180|183|2[0-9][0-9]")) { if (search("application/sdp")) { force_rtp_proxy("i"); }; } fix_nated_contact(); } failure_route[1] { # Choose another gateway xlog ("L_INFO","Failed to send to proxy - $ds\n"); if ((t_check_status("408") || t_check_status("603"))&& t_local_replied("all")) { if (ds_next_domain()) { xlog ("L_INFO","Next selected proxy - $ds\n"); # On Failure: Choose next Proxy t_on_failure("1"); route(4); route(1); } else { t_reply("503", "Service not available"); return; } } else if ( t_check_status("401|407") ) { if (isflagset(7)) { t_reply("503","Authentication failed"); return; } if (uac_auth()) { # mark that auth was performed setflag(7); ## trigger again the failure route t_on_failure("1"); # repeat the request with auth response this time append_branch(); route(4); route(1); } } }