Thanks Ali! That's perfect. Steve
On Fri, Nov 9, 2012 at 8:50 AM, Ali Pey <[email protected]> wrote: > Hi Steve, > > The request-uri in your invite is to "service". In your opensips script, > it does a lookup on user and I don't think you have the user "service" > registered. > > Either have sipp to register first, or in your opensips.cfg, put a > condition for calls from sipp to go to route one directly with no lookup. > > Hope this is clear enough. > > Regards, > Ali Pey > > > On Thu, Nov 8, 2012 at 8:05 PM, Steve Mitchell <[email protected]>wrote: > >> Hi, >> >> I'm trying to get a simple scenario working to generate CDRs in bulk and >> am using a basic configuration (generated with osipconfig) with the sipp >> UAC. However, I continue to get a 404 Not Found response to the INVITE. My >> config and UAC file are below. >> >> Any thoughts? >> >> Thanks much! >> >> Steve >> >> # >> # $Id: opensips_residential.m4 9042 2012-05-17 13:57:10Z vladut-paiu $ >> # >> # OpenSIPS residential configuration script >> # by OpenSIPS Solutions <[email protected]> >> # >> # This script was generated via "make menuconfig", from >> # the "Residential" scenario. >> # You can enable / disable more features / functionalities by >> # re-generating the scenario with different options.# >> # >> # Please refer to the Core CookBook at: >> # http://www.opensips.org/Resources/DocsCookbooks >> # for a explanation of possible statements, functions and parameters. >> # >> >> >> ####### Global Parameters ######### >> >> debug=6 >> fork=no >> log_stderror=yes >> log_facility=LOG_LOCAL1 >> >> #fork=yes >> #children=4 >> >> /* uncomment the following lines to enable debugging */ >> #debug=6 >> #fork=no >> #log_stderror=yes >> >> /* uncomment the next line to enable the auto temporary blacklisting of >> not available destinations (default disabled) */ >> #disable_dns_blacklist=no >> >> /* uncomment the next line to enable IPv6 lookup after IPv4 dns >> lookup failures (default disabled) */ >> #dns_try_ipv6=yes >> >> /* comment the next line to enable the auto discovery of local aliases >> based on revers DNS on IPs */ >> auto_aliases=no >> >> >> listen=udp:10.145.185.49:5060 # CUSTOMIZE ME >> >> disable_tcp=no >> listen=tcp:10.145.185.49:5060 # CUSTOMIZE ME >> >> disable_tls=yes >> >> >> ####### Modules Section ######## >> >> #set module path >> mpath="/usr/local/opensips_proxy/lib64/opensips/modules/" >> >> #### SIGNALING module >> loadmodule "signaling.so" >> >> #### StateLess module >> loadmodule "sl.so" >> >> #### Transaction Module >> loadmodule "tm.so" >> modparam("tm", "fr_timer", 5) >> modparam("tm", "fr_inv_timer", 30) >> modparam("tm", "restart_fr_on_each_reply", 0) >> modparam("tm", "onreply_avp_mode", 1) >> >> #### Record Route Module >> loadmodule "rr.so" >> /* do not append from tag to the RR (no need for this script) */ >> modparam("rr", "append_fromtag", 0) >> >> #### MAX ForWarD module >> loadmodule "maxfwd.so" >> >> #### SIP MSG OPerationS module >> loadmodule "sipmsgops.so" >> >> #### FIFO Management Interface >> loadmodule "mi_fifo.so" >> modparam("mi_fifo", "fifo_name", "/tmp/opensips_fifo") >> modparam("mi_fifo", "fifo_mode", 0666) >> >> >> #### URI module >> loadmodule "uri.so" >> modparam("uri", "use_uri_table", 0) >> >> >> >> >> #### MYSQL module >> loadmodule "db_mysql.so" >> >> #### USeR LOCation module >> loadmodule "usrloc.so" >> modparam("usrloc", "nat_bflag", 10) >> modparam("usrloc", "db_mode", 2) >> modparam("usrloc", "db_url", >> "mysql://opensips:opensipsrw@localhost/opensips") # CUSTOMIZE ME >> >> >> #### REGISTRAR module >> loadmodule "registrar.so" >> modparam("registrar", "tcp_persistent_flag", 7) >> >> /* uncomment the next line not to allow more than 10 contacts per AOR */ >> #modparam("registrar", "max_contacts", 10) >> >> #### ACCounting module >> loadmodule "acc.so" >> /* what special events should be accounted ? */ >> modparam("acc", "early_media", 0) >> modparam("acc", "report_cancels", 0) >> /* by default we do not adjust the direct of the sequential requests. >> if you enable this parameter, be sure the enable "append_fromtag" >> in "rr" module */ >> modparam("acc", "detect_direction", 0) >> modparam("acc", "failed_transaction_flag", 3) >> /* account triggers (flags) */ >> modparam("acc", "db_flag", 1) >> modparam("acc", "db_missed_flag", 2) >> modparam("acc", "db_url", >> "mysql://opensips:opensipsrw@localhost/opensips") # CUSTOMIZE ME >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> ####### Routing Logic ######## >> >> # main request routing logic >> >> route{ >> >> >> if (!mf_process_maxfwd_header("10")) { >> sl_send_reply("483","Too Many Hops"); >> exit; >> } >> >> if (has_totag()) { >> # sequential request withing a dialog should >> # take the path determined by record-routing >> if (loose_route()) { >> >> if (is_method("BYE")) { >> setflag(1); # do accounting ... >> setflag(3); # ... even if the transaction fails >> } else if (is_method("INVITE")) { >> # even if in most of the cases is useless, do RR for >> # re-INVITEs alos, as some buggy clients do change route >> set >> # during the dialog. >> record_route(); >> } >> >> >> >> # route it out to whatever destination was set by >> loose_route() >> # in $du (destination URI). >> route(1); >> } else { >> >> if ( is_method("ACK") ) { >> if ( t_check_trans() ) { >> # non loose-route, but stateful ACK; must be an ACK >> after >> # a 487 or e.g. 404 from upstream server >> t_relay(); >> exit; >> } else { >> # ACK without matching transaction -> >> # ignore and discard >> exit; >> } >> } >> sl_send_reply("404","Not here"); >> } >> exit; >> } >> >> # CANCEL processing >> if (is_method("CANCEL")) >> { >> if (t_check_trans()) >> t_relay(); >> exit; >> } >> >> t_check_trans(); >> >> if ( !(is_method("REGISTER") ) ) { >> >> if (from_uri==myself) >> >> { >> >> } else { >> # if caller is not local, then called number must be local >> >> if (!uri==myself) { >> send_reply("403","Rely forbidden"); >> exit; >> } >> } >> >> } >> >> # preloaded route checking >> if (loose_route()) { >> xlog("L_ERR", >> "Attempt to route with preloaded Route's [$fu/$tu/$ru/$ci]"); >> if (!is_method("ACK")) >> sl_send_reply("403","Preload Route denied"); >> exit; >> } >> >> # record routing >> if (!is_method("REGISTER|MESSAGE")) >> record_route(); >> >> # account only INVITEs >> if (is_method("INVITE")) { >> >> setflag(1); # do accounting >> } >> >> >> if (!uri==myself) { >> append_hf("P-hint: outbound\r\n"); >> >> route(1); >> } >> >> # requests for my domain >> >> if (is_method("PUBLISH|SUBSCRIBE")) >> { >> sl_send_reply("503", "Service Unavailable"); >> exit; >> } >> >> if (is_method("REGISTER")) >> { >> >> >> if ( proto==TCP || 0 ) setflag(7); >> >> if (!save("location")) >> sl_reply_error(); >> >> exit; >> } >> >> if ($rU==NULL) { >> # request with no Username in RURI >> sl_send_reply("484","Address Incomplete"); >> exit; >> } >> >> >> >> >> >> >> >> # do lookup with method filtering >> if (!lookup("location","m")) { >> >> >> t_newtran(); >> t_reply("404", "Not Found"); >> exit; >> } >> >> >> >> # when routing via usrloc, log the missed calls also >> setflag(2); >> route(1); >> } >> >> >> route[1] { >> # for INVITEs enable some additional helper routes >> if (is_method("INVITE")) { >> >> >> >> t_on_branch("2"); >> t_on_reply("2"); >> t_on_failure("1"); >> } >> >> >> >> if (!t_relay()) { >> send_reply("500","Internal Error"); >> }; >> exit; >> } >> >> >> >> >> branch_route[2] { >> xlog("new branch at $ru\n"); >> } >> >> >> onreply_route[2] { >> >> xlog("incoming reply\n"); >> } >> >> >> failure_route[1] { >> if (t_was_cancelled()) { >> exit; >> } >> >> # uncomment the following lines if you want to block client >> # redirect based on 3xx replies. >> ##if (t_check_status("3[0-9][0-9]")) { >> ##t_reply("404","Not found"); >> ## exit; >> ##} >> >> >> } >> >> >> >> >> >> <?xml version="1.0" encoding="ISO-8859-1" ?> >> <!DOCTYPE scenario SYSTEM "sipp.dtd"> >> >> <!-- This program is free software; you can redistribute it and/or >> --> >> <!-- modify it under the terms of the GNU General Public License as >> --> >> <!-- published by the Free Software Foundation; either version 2 of the >> --> >> <!-- License, or (at your option) any later version. >> --> >> <!-- >> --> >> <!-- This program is distributed in the hope that it will be useful, >> --> >> <!-- but WITHOUT ANY WARRANTY; without even the implied warranty of >> --> >> <!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >> --> >> <!-- GNU General Public License for more details. >> --> >> <!-- >> --> >> <!-- You should have received a copy of the GNU General Public License >> --> >> <!-- along with this program; if not, write to the >> --> >> <!-- Free Software Foundation, Inc., >> --> >> <!-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA >> --> >> <!-- >> --> >> <!-- Sipp default 'uac' scenario. >> --> >> <!-- >> --> >> >> <scenario name="Basic Sipstone UAC"> >> <!-- In client mode (sipp placing calls), the Call-ID MUST be >> --> >> <!-- generated by sipp. To do so, use [call_id] keyword. >> --> >> <send retrans="1000"> >> <![CDATA[ >> >> INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 >> Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] >> From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] >> To: sut <sip:[service]@[remote_ip]:[remote_port]> >> Call-ID: [call_id] >> CSeq: 1 INVITE >> Contact: sip:sipp@[local_ip]:[local_port] >> Max-Forwards: 70 >> Subject: Performance Test >> Content-Type: application/sdp >> Content-Length: [len] >> >> v=0 >> o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] >> s=- >> c=IN IP[media_ip_type] [media_ip] >> t=0 0 >> m=audio [media_port] RTP/AVP 0 >> a=rtpmap:0 PCMU/8000 >> >> ]]> >> </send> >> >> <recv response="100" >> optional="true"> >> </recv> >> >> <recv response="180" optional="true"> >> </recv> >> >> <!-- By adding rrs="true" (Record Route Sets), the route sets >> --> >> <!-- are saved and used for following messages sent. Useful to test >> --> >> <!-- against stateful SIP proxies/B2BUAs. >> --> >> <recv response="200" rtd="true" rrs="true"> >> </recv> >> >> <!-- Packet lost can be simulated in any send/recv message by >> --> >> <!-- by adding the 'lost = "10"'. Value can be [1-100] percent. >> --> >> <send> >> <![CDATA[ >> >> ACK [next_url] SIP/2.0 >> Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] >> From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] >> To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] >> [routes] >> Call-ID: [call_id] >> CSeq: 1 ACK >> Contact: sip:sipp@[local_ip]:[local_port] >> Max-Forwards: 70 >> Subject: Performance Test >> Content-Length: 0 >> >> ]]> >> </send> >> >> <!-- This delay can be customized by the -d command-line option >> --> >> <!-- or by adding a 'milliseconds = "value"' option here. >> --> >> <pause milliseconds="10000"/> >> >> >> <!-- The 'crlf' option inserts a blank line in the statistics report. >> --> >> <send retrans="1000"> >> <![CDATA[ >> >> BYE [next_url] SIP/2.0 >> Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] >> From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] >> To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] >> [routes] >> Call-ID: [call_id] >> CSeq: 2 BYE >> Contact: sip:sipp@[local_ip]:[local_port] >> Max-Forwards: 70 >> Subject: Performance Test >> Content-Length: 0 >> >> ]]> >> </send> >> >> <recv response="200" crlf="true"> >> </recv> >> >> <!-- definition of the response time repartition table (unit is ms) >> --> >> <ResponseTimeRepartition value="500, 1000, 1500, 2000"/> >> >> <!-- definition of the call length repartition table (unit is ms) >> --> >> <CallLengthRepartition value="500"/> >> >> </scenario> >> >> _______________________________________________ >> Users mailing list >> [email protected] >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> > > _______________________________________________ > Users mailing list > [email protected] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > >
_______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
