I think the problem is related to configuring SIPP properly. If I'm not wrong, SIPP standard scenario for UAC/UAS is configured to work with a gateway (B2B), but Opensips is a proxy. You have to use Routes to properly handle the incoming call and respond it.
Take a lookt at "rrs" param of recv command. This is the code I use on UAC.xml, after receiving 200 OK from initial invite: <recv response="200" rrs="true" response_txn="invite"> <action> <ereg regexp=";branch=[^;]*" search_in="hdr" header="Via" check_it="false" assign_to="3"/> <ereg regexp=";.*" search_in="hdr" header="To" check_it="false" assign_to="4"/> </action> </recv> <send ack_txn="invite"> <![CDATA[ ACK [next_url] SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:[local_port][$3] [routes] From: <sip:[$1]@[$2]:[local_port]>;tag=[pid]SIPpTag00[call_number] To: <sip:[field0]@[$2]:[remote_port]>[$4] Call-ID: [call_id] CSeq: 1 ACK Contact: sip:[$1]@[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 distributio="uniform" min="4000" max="20000" /> <!-- The 'crlf' option inserts a blank line in the statistics report. --> <send start_txn="bye"> <![CDATA[ BYE [next_url] SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] [routes] From: <sip:[$1]@[$2]:[local_port]>;tag=[pid]SIPpTag00[call_number] To: <sip:[field0]@[$2]:[remote_port]>[peer_tag_param] 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" response_txn="bye"/> On Wed, Jun 6, 2018 at 7:32 AM, David Villasmil < david.villasmil.w...@gmail.com> wrote: > Are the 2 sipp instances behind nat? If so, you need to set the appropiate > switch on sipp, i believe it is > -bind_local the actual local ip > -i the public ip > > Take a look at sipp's documentation > > Hope it helps > > David > > On Wed, Jun 6, 2018, 10:33 Jan Skórczyński <jskorczyn...@milosolutions.com> > wrote: > >> Hello, >> >> I'm a beginner in VOIP world so maybe this question have obvious >> answer... >> I would like to perform series of stress tests of my Opensips server. >> >> Opensips instance is located on VPS at adres XXX.XXX.XXX.XXX (public IP) >> and it is listening on 5060 port. I'm using custom client apps, everything >> works fine, however I have some issue when I try to test with Sipp. >> >> I'm setting UAS on my VPS, with the following command: >> >> sipp -sn uas -rsa XXX.XXX.XXX.XXX:5060 -i XXX.XXX.XXX.XXX >> >> and UAC on my PC: >> >> sipp -sn uac XXX.XXX.XXX.XXX:5061 -i 192.168.0.103 >> >> I can see on UAS that it receives messages from my UAC, but it cannot >> reply to them. >> >> ------------------------------ Scenario Screen -------- [1-9]: Change >> Screen -- >> Port Total-time Total-calls Transport >> 5061 19.07 s 30 UDP >> >> 0 new calls during 1.004 s period 1 ms scheduler resolution >> 0 calls Peak was 6 calls, after 6 s >> 0 Running, 31 Paused, 4 Woken up >> 90 dead call msg (discarded) >> 4 open sockets >> >> Messages Retrans Timeout >> Unexpected-Msg >> ----------> INVITE 30 0 0 0 >> >> <---------- 180 30 0 >> <---------- 200 30 14 0 >> ----------> ACK E-RTD1 0 0 0 30 >> >> ----------> BYE 0 0 0 0 >> <---------- 200 0 0 >> [ 4000ms] Pause 0 0 >> ------------------------------ Sipp Server Mode >> ------------------------------- >> >> >> Logs from UAC: >> >> ------------------------------ Scenario Screen -------- [1-9]: Change >> Screen -- >> Call-rate(length) Port Total-time Total-calls Remote-host >> 10.0(0 ms)/1.000s 5060 73.29 s 90 >> XXX.XXX.XXX.XXX:5061(UDP) >> >> 0 new calls during 1.004 s period 1 ms scheduler resolution >> 30 calls (limit 30) Peak was 30 calls, after 3 s >> 0 Running, 62 Paused, 24 Woken up >> 0 dead call msg (discarded) 0 out-of-call msg (discarded) >> >> 3 open sockets >> >> Messages Retrans Timeout >> Unexpected-Msg >> INVITE ----------> 90 415 60 >> 100 <---------- 0 0 0 0 >> 180 <---------- 0 0 0 0 >> 183 <---------- 0 0 0 0 >> 200 <---------- E-RTD1 0 0 0 0 >> ACK ----------> 0 0 >> Pause [ 0ms] 0 0 >> BYE ----------> 0 0 0 >> 200 <---------- 0 0 0 0 >> >> ------ [+|-|*|/]: Adjust rate ---- [q]: Soft exit ---- [p]: Pause traffic >> ----- >> >> And here is my opensips.cfg routing script: >> >> route{ >> xlog("Begin route"); >> if (!mf_process_maxfwd_header("10")) { >> xlog("Too many hops"); >> send_reply("483","Too Many Hops"); >> exit; >> } >> >> if (has_totag() && ($fU!="sipp")) { >> xlog("Has totag"); >> # handle hop-by-hop ACK (no routing required) >> if ( is_method("ACK") && t_check_trans() ) { >> xlog("Method: ACK && t_check_trans. Relaying..."); >> t_relay(); >> exit; >> } >> >> # sequential request within a dialog should >> # take the path determined by record-routing >> if ( !loose_route() ) { >> # we do record-routing for all our traffic, so we should not >> # receive any sequential requests without Route hdr. >> send_reply("404","Not here"); >> exit; >> } >> >> if (is_method("BYE")) { >> # do accounting even if the transaction fails >> #do_accounting("log","failed"); >> } >> >> # route it out to whatever destination was set by loose_route() >> # in $du (destination URI). >> route(relay); >> exit; >> } >> >> # CANCEL processing >> if (is_method("CANCEL")) { >> if (t_check_trans()) >> t_relay(); >> exit; >> } >> >> # absorb retransmissions, but do not create transaction >> t_check_trans(); >> >> if ( !(is_method("REGISTER") ) ) { >> if (is_myself("$fd")) { >> } else { >> # if caller is not local, then called number must be local >> if (!is_myself("$rd")) { >> send_reply("403","Relay 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")) >> send_reply("403","Preload Route denied"); >> exit; >> } >> >> # record routing >> if (!is_method("REGISTER|MESSAGE")) >> record_route(); >> >> # account only INVITEs >> if (is_method("INVITE")) { >> create_dialog(); >> engage_media_proxy(); >> #do_accounting("log"); >> } >> if (!is_myself("$rd")) { >> append_hf("P-hint: outbound\r\n"); >> # if you have some interdomain connections via TLS >> ## CUSTOMIZE IF NEEDED >> ##if ($rd=="tls_domain1.net" >> ## || $rd=="tls_domain2.net" >> ##) { >> ## force_send_socket(tls:127.0.0.1:5061); # CUSTOMIZE >> ##} >> route(relay); >> } >> >> # requests for my domain >> if (is_method("PUBLISH|SUBSCRIBE")) { >> send_reply("503", "Service Unavailable"); >> exit; >> } >> >> if (is_method("REGISTER")) { >> xlog("NEW REGISTER!"); >> if ($proto == "tls") >> setflag(TCP_PERSISTENT); >> if (!save("location")) >> sl_reply_error(); >> >> exit; >> } >> >> if ($rU==NULL) { >> # request with no Username in RURI >> send_reply("484","Address Incomplete"); >> exit; >> } >> >> # do lookup with method filtering >> if (!lookup("location","m")) { >> xlog("not found"); >> t_reply("404", "Not Found"); >> exit; >> } else { >> xlog("FOUND"); >> } >> >> # when routing via usrloc, log the missed calls also >> #do_accounting("log","missed"); >> route(relay); >> } >> >> >> route[relay] { >> # for INVITEs enable some additional helper routes >> if (is_method("INVITE")) { >> t_on_branch("per_branch_ops"); >> t_on_reply("handle_nat"); >> t_on_failure("missed_call"); >> } >> >> if (!t_relay()) { >> send_reply("500","Internal Error"); >> } >> exit; >> } >> >> branch_route[per_branch_ops] { >> xlog("new branch at $ru\n"); >> } >> >> onreply_route[handle_nat] { >> xlog("incoming reply\n"); >> } >> >> >> failure_route[missed_call] { >> 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; >> ##} >> } >> >> >> What I'm doing wrong? How can I test my Opensips instance? I would like >> to perform not only sip stress test but also test with some media >> transport. Should I run UAC from public IP too? >> >> Thanks in advance for reply. >> _______________________________________________ >> Users mailing list >> Users@lists.opensips.org >> http://lists.opensips.org/cgi-bin/mailman/listinfo/users >> > > _______________________________________________ > Users mailing list > Users@lists.opensips.org > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > >
_______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users