Hello everyone,
I'm a newbie in kamailio world and make some tests to dispatch call over several asterisk instances. This part works, my call has been distributed over two instances (if i make a call with jitsi for example). Now, i want to test performance of my cluster and use Sipp to chalenge it.
All method is working fine, except the BYE method, where kamailio send me back a 404 Not here.
This is my SIPP scenario:
...
<pause/>
<!-- The 'crlf' option inserts a blank line in the statistics report. --> <send retrans="500"> <![CDATA[
BYE sip:[service]@[remote_ip] SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] From: sipp sip:sipp@loicchabert.fr;tag=[pid]SIPpTag00[call_number] To: sut sip:[service]@[remote_ip]:[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> ...
I use the classic file of kamailio, with some adjustement for dispatching.
Any ideas concerning this problem ? This BYE is not in transaction so he is drop by kamailio ?
Thank in advance,
Regards.
Hello,
you have the config of kamailio doing record_route() and then expecting Route header in BYE, but your BYE is not having one.
Cheers, Daniel
On 05/07/15 12:05, Loic Chabert wrote:
Hello everyone,
I'm a newbie in kamailio world and make some tests to dispatch call over several asterisk instances. This part works, my call has been distributed over two instances (if i make a call with jitsi for example). Now, i want to test performance of my cluster and use Sipp to chalenge it.
All method is working fine, except the BYE method, where kamailio send me back a 404 Not here.
This is my SIPP scenario:
...
<pause/>
<!-- The 'crlf' option inserts a blank line in the statistics report. -->
<send retrans="500"> <![CDATA[
BYE sip:[service]@[remote_ip] SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] From: sipp <sip:sipp@loicchabert.fr
mailto:sip%3Asipp@loicchabert.fr>;tag=[pid]SIPpTag00[call_number] To: sut sip:[service]@[remote_ip]:[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> ...
I use the classic file of kamailio, with some adjustement for dispatching.
Any ideas concerning this problem ? This BYE is not in transaction so he is drop by kamailio ?
Thank in advance,
Regards.
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hello Daniel,
Record-route is only used on request route:
# record routing for dialog forming requests (in case they are routed) # - remove preloaded route headers remove_hf("Route"); if (is_method("INVITE|SUBSCRIBE")) record_route();
But not after. In the next few lines, in route[WITHINDLG], i have:
if (has_totag()) { # sequential request withing a dialog should # take the path determined by record-routing if (loose_route()) { if (is_method("BYE")) { setflag(FLT_ACC); # do accounting ... setflag(FLT_ACCFAILED); # ... even if the transaction fails } if ( is_method("ACK") ) { # ACK is forwarded statelessy route(NATMANAGE); } route(RELAY); } else { if (is_method("SUBSCRIBE") && uri == myself) { # in-dialog subscribe requests route(PRESENCE); exit; } if ( is_method("ACK") ) { if ( t_check_trans() ) { # no 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; }
But i don't understand why "sl_send_reply("404","Not here");" has been executed, and not the other statement ?
Thanks in advance,
Regards.
2015-07-06 8:47 GMT+02:00 Daniel-Constantin Mierla miconda@gmail.com:
Hello,
you have the config of kamailio doing record_route() and then expecting Route header in BYE, but your BYE is not having one.
Cheers, Daniel
On 05/07/15 12:05, Loic Chabert wrote:
Hello everyone,
I'm a newbie in kamailio world and make some tests to dispatch call over several asterisk instances. This part works, my call has been distributed over two instances (if i make a call with jitsi for example). Now, i want to test performance of my cluster and use Sipp to chalenge it.
All method is working fine, except the BYE method, where kamailio send me back a 404 Not here.
This is my SIPP scenario:
...
<pause/>
<!-- The 'crlf' option inserts a blank line in the statistics report. -->
<send retrans="500"> <![CDATA[
BYE sip:[service]@[remote_ip] SIP/2.0 Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] From: sipp <sip:sipp@loicchabert.fr>;tag=[pid]SIPpTag00[call_number] To: sut <sip:[service]@[remote_ip]:[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> ...
I use the classic file of kamailio, with some adjustement for dispatching.
Any ideas concerning this problem ? This BYE is not in transaction so he is drop by kamailio ?
Thank in advance,
Regards.
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users@lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
-- Daniel-Constantin Mierlahttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda Book: SIP Routing With Kamailio - http://www.asipto.com
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hello,
you are probably just sending the BYE to the wrong contact. The 200 OK didn't come from your Kamailio but from the server where the request was dispatched to. So you have to use the URI from Contact header as your new Request URI. (This is true already for the ACK after the 200 OK was received.)
You have to change the sipp xml scenario file to - extract the contact header and routes from the 200 OK - include those information in every packet sent after the 200 OK.
Keywords: [next_url], [routes] and "rrs" attribute in the recv command. Help: http://sipp.sourceforge.net/doc/reference.html#UAC
So the BYE should look like this:
BYE [next_url] SIP/2.0 [routes] Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] From: sipp sip:sipp@loicchabert.fr;tag=[pid]SIPpTag00[call_number] To: sut sip:[service]@[remote_ip]:[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
Hope that helps.
Best Regards, Sebastian
Hello,
Thanks for your explaination Sebastian but ... nothing change, RR has not been added. But i have noticed a new error: 400 Bad request (as you can see in my attachment).
Why there is so many ACK/200 OK on my wireshark trace. On my scenario, there is only one ACK no ? Is it normal ?
Many thanks for your response !
2015-07-06 11:37 GMT+02:00 Sebastian Damm damm@sipgate.de:
Hello,
you are probably just sending the BYE to the wrong contact. The 200 OK didn't come from your Kamailio but from the server where the request was dispatched to. So you have to use the URI from Contact header as your new Request URI. (This is true already for the ACK after the 200 OK was received.)
You have to change the sipp xml scenario file to
- extract the contact header and routes from the 200 OK
- include those information in every packet sent after the 200 OK.
Keywords: [next_url], [routes] and "rrs" attribute in the recv command. Help: http://sipp.sourceforge.net/doc/reference.html#UAC
So the BYE should look like this:
BYE [next_url] SIP/2.0 [routes] Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] From: sipp <sip:sipp@loicchabert.fr>;tag=[pid]SIPpTag00[call_number] To: sut <sip:[service]@[remote_ip]:[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
Hope that helps.
Best Regards, Sebastian
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Hi,
you need to change the ACK the same way you did change your BYE Request.
The 400 Bad Request URI response seems to be geneerated by your Kamailio. But I can't find a matching BYE request with CSeq 2, so I don't know what Kamailio is complaining about.
The BYE with CSeq 3 is not directed to the Contact URI from the 200 OK.
According to your xml file, there should never be a BYE with CSeq 3. Are you sure, you are actually using this file? And did you read the documentation? I wrote something about an "rss" parameter, that needs to be added earlier, so you can access those headers.
Best Regards, Sebastian
Hello Sebastian,
I have more time to check today, and followed your instruction. I have added rss="true" on 200OK (with sdp), and next, an ACK should be sent by my sipp, with asterisk IP on request line. But this ACK is not sent by my sipp.
Sipp detect this 200OK, but not respond with an ACK (waited by Asterisk). So Kamailio send me 200OK again and again.
A new message appeared: Aborting call on unexpected message for Call-Id ' 1-13197@192.168.1.13': while expecting '200' (index 9), received 'SIP/2.0 400 Bad Request URI
In my opinion, this message said: i have recieved informations/messages concerning this call id, but i don't care, i dont expect this one ?
Yes yes, i'm sure, i'm using this file. This xml file == captured attached previously.
I will follow investigations tomorrow, i don't understand the difference between my message sent over sipp and messages sent over jitsi.
Regards, Loïc.
2015-07-08 15:16 GMT+02:00 Sebastian Damm damm@sipgate.de:
Hi,
you need to change the ACK the same way you did change your BYE Request.
The 400 Bad Request URI response seems to be geneerated by your Kamailio. But I can't find a matching BYE request with CSeq 2, so I don't know what Kamailio is complaining about.
The BYE with CSeq 3 is not directed to the Contact URI from the 200 OK.
According to your xml file, there should never be a BYE with CSeq 3. Are you sure, you are actually using this file? And did you read the documentation? I wrote something about an "rss" parameter, that needs to be added earlier, so you can access those headers.
Best Regards, Sebastian
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users