<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body style='font-family: Verdana,Geneva,sans-serif'>
<p>Wim,</p>
<p>Looks like your ACK is missing the Route header, since ACK is a new transaction kamailio needs to route it based on a preloaded route. When you receive the 200OK in sipp you should save the record route set and use it in the ACK with the "[routes]" statement.</p>
<p>Take a look at the SIPP docs and search for rrs="true". If you take a packet capture on the loopback interface of the kamailio server you will probably see that kamailio keeps looping the ACK until the Max-Forwards is exhausted.</p>
<p> </p>
<p>Example:</p>
<p><recv response="200" rtd="true" rrs="true"><br /> </recv></p>
<p><send><br /> <![CDATA[</p>
<p>ACK [next_url] SIP/2.0<br /> Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]<br /> From: sipp <sip:sipp@[field1]>;tag=[pid]SIPpTag00[call_number]<br /> To: sut <sip:[service]@[field1]>[peer_tag_param]<br /> Call-ID: [call_id]<br /> CSeq: 2 ACK<br /> [routes]<br /> Contact: sip:[service]@[local_ip]:[local_port]<br /> Max-Forwards: 70<br /> Subject: Performance Test<br /> Content-Length: 0</p>
<p>]]><br /> </send></p>
<p> </p>
<p>Regards,</p>
<p> </p>
<p>Jan Hazenberg</p>
<p> </p>
<p> </p>
<p>Wim Van Cauwenbergh schreef op 2016-12-15 15:13:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div dir="ltr">Hi, I have setup kamailio with the dispatcher module and have a problem with the ACK in response to 200OK not being forwarded by kamailio:
<div> </div>
<div>Scenario is very simple:</div>
<div>sipp(.219) --> kamailio (.220) --> sipp(.239)</div>
<div> </div>
<div>SIP trace:</div>
<div> </div>
<div>
<div>
<div>root@DNS-enum-8Gb-3:/var/log# ngrep -W byline -d eth0 port 5060</div>
<div>interface: eth0 (<a href="http://10.57.26.0/255.255.255.0">10.57.26.0/255.255.255.0</a>)</div>
<div>filter: (ip or ip6) and ( port 5060 )</div>
<div>#</div>
<div>U <a href="http://10.57.26.219:5060">10.57.26.219:5060</a> -> <a href="http://10.57.26.220:5060">10.57.26.220:5060</a></div>
<div>INVITE <a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a> SIP/2.0.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Contact: <a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>.</div>
<div>Max-Forwards: 70.</div>
<div>Subject: Performance Test.</div>
<div>Content-Type: application/sdp.</div>
<div>Content-Length:   135.</div>
<div>.</div>
<div>v=0.</div>
<div>o=user1 53655765 2353687637 IN IP4 10.57.26.219.</div>
<div>s=-.</div>
<div>c=IN IP4 10.57.26.219.</div>
<div>t=0 0.</div>
<div>m=audio 6000 RTP/AVP 0.</div>
<div>a=rtpmap:0 PCMU/8000.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.220:5060">10.57.26.220:5060</a> -> <a href="http://10.57.26.219:5060">10.57.26.219:5060</a></div>
<div>SIP/2.0 100 trying -- your call is important to us.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Server: kamailio (4.2.0 (x86_64/linux)).</div>
<div>Content-Length: 0.</div>
<div>.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.220:5060">10.57.26.220:5060</a> -> <a href="http://10.57.26.239:5060">10.57.26.239:5060</a></div>
<div>INVITE <a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a> SIP/2.0.</div>
<div>Record-Route: <sip:10.57.26.220;lr>.</div>
<div>Via: SIP/2.0/UDP 10.57.26.220;branch=z9hG4bKf92d.33550a94aa52aef3978cb507902d8aaa.0.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Contact: <a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>.</div>
<div>Max-Forwards: 69.</div>
<div>Subject: Performance Test.</div>
<div>Content-Type: application/sdp.</div>
<div>Content-Length:   135.</div>
<div>.</div>
<div>v=0.</div>
<div>o=user1 53655765 2353687637 IN IP4 10.57.26.219.</div>
<div>s=-.</div>
<div>c=IN IP4 10.57.26.219.</div>
<div>t=0 0.</div>
<div>m=audio 6000 RTP/AVP 0.</div>
<div>a=rtpmap:0 PCMU/8000.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.239:5060">10.57.26.239:5060</a> -> <a href="http://10.57.26.220:5060">10.57.26.220:5060</a></div>
<div>SIP/2.0 180 Ringing.</div>
<div>Via: SIP/2.0/UDP 10.57.26.220;branch=z9hG4bKf92d.33550a94aa52aef3978cb507902d8aaa.0, SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Contact: <sip:10.57.26.239:5060;transport=UDP>.</div>
<div>Content-Length: 0.</div>
<div>.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.239:5060">10.57.26.239:5060</a> -> <a href="http://10.57.26.220:5060">10.57.26.220:5060</a></div>
<div>SIP/2.0 200 OK.</div>
<div>Via: SIP/2.0/UDP 10.57.26.220;branch=z9hG4bKf92d.33550a94aa52aef3978cb507902d8aaa.0, SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Contact: <sip:10.57.26.239:5060;transport=UDP>.</div>
<div>Content-Type: application/sdp.</div>
<div>Content-Length:   135.</div>
<div>.</div>
<div>v=0.</div>
<div>o=user1 53655765 2353687637 IN IP4 10.57.26.239.</div>
<div>s=-.</div>
<div>c=IN IP4 10.57.26.239.</div>
<div>t=0 0.</div>
<div>m=audio 6000 RTP/AVP 0.</div>
<div>a=rtpmap:0 PCMU/8000.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.220:5060">10.57.26.220:5060</a> -> <a href="http://10.57.26.219:5060">10.57.26.219:5060</a></div>
<div>SIP/2.0 180 Ringing.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Contact: <sip:10.57.26.239:5060;transport=UDP>.</div>
<div>Content-Length: 0.</div>
<div>.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.220:5060">10.57.26.220:5060</a> -> <a href="http://10.57.26.219:5060">10.57.26.219:5060</a></div>
<div>SIP/2.0 200 OK.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Contact: <sip:10.57.26.239:5060;transport=UDP>.</div>
<div>Content-Type: application/sdp.</div>
<div>Content-Length:   135.</div>
<div>.</div>
<div>v=0.</div>
<div>o=user1 53655765 2353687637 IN IP4 10.57.26.239.</div>
<div>s=-.</div>
<div>c=IN IP4 10.57.26.239.</div>
<div>t=0 0.</div>
<div>m=audio 6000 RTP/AVP 0.</div>
<div>a=rtpmap:0 PCMU/8000.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.219:5060">10.57.26.219:5060</a> -> <a href="http://10.57.26.220:5060">10.57.26.220:5060</a></div>
<div>ACK sip:10.57.26.239:5060;transport=UDP SIP/2.0.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-5.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 ACK.</div>
<div>Contact: <a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>.</div>
<div>Max-Forwards: 70.</div>
<div>Subject: Performance Test.</div>
<div>XContactinOK: <sip:10.57.26.239:5060;transport=UDP>.</div>
<div>Content-Length: 0.</div>
<div>.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.239:5060">10.57.26.239:5060</a> -> <a href="http://10.57.26.220:5060">10.57.26.220:5060</a></div>
<div>SIP/2.0 200 OK.</div>
<div>Via: SIP/2.0/UDP 10.57.26.220;branch=z9hG4bKf92d.33550a94aa52aef3978cb507902d8aaa.0, SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Contact: <sip:10.57.26.239:5060;transport=UDP>.</div>
<div>Content-Type: application/sdp.</div>
<div>Content-Length:   135.</div>
<div>.</div>
<div>v=0.</div>
<div>o=user1 53655765 2353687637 IN IP4 10.57.26.239.</div>
<div>s=-.</div>
<div>c=IN IP4 10.57.26.239.</div>
<div>t=0 0.</div>
<div>m=audio 6000 RTP/AVP 0.</div>
<div>a=rtpmap:0 PCMU/8000.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.220:5060">10.57.26.220:5060</a> -> <a href="http://10.57.26.219:5060">10.57.26.219:5060</a></div>
<div>SIP/2.0 200 OK.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Contact: <sip:10.57.26.239:5060;transport=UDP>.</div>
<div>Content-Type: application/sdp.</div>
<div>Content-Length:   135.</div>
<div>.</div>
<div>v=0.</div>
<div>o=user1 53655765 2353687637 IN IP4 10.57.26.239.</div>
<div>s=-.</div>
<div>c=IN IP4 10.57.26.239.</div>
<div>t=0 0.</div>
<div>m=audio 6000 RTP/AVP 0.</div>
<div>a=rtpmap:0 PCMU/8000.</div>
<div> </div>
<div>#</div>
<div><strong>U <a href="http://10.57.26.219:5060">10.57.26.219:5060</a> -> <a href="http://10.57.26.220:5060">10.57.26.220:5060</a></strong></div>
<div><strong>ACK sip:10.57.26.239:5060;transport=UDP SIP/2.0.</strong></div>
<div><strong>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-5.</strong></div>
<div><strong>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</strong></div>
<div><strong>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</strong></div>
<div><strong>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</strong></div>
<div><strong>CSeq: 1 ACK.</strong></div>
<div><strong>Contact: <a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>.</strong></div>
<div><strong>Max-Forwards: 70.</strong></div>
<div><strong>Subject: Performance Test.</strong></div>
<div><strong>XContactinOK: <sip:10.57.26.239:5060;transport=UDP>.</strong></div>
<div><strong>Content-Length: 0.</strong></div>
<div>.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.219:5060">10.57.26.219:5060</a> -> <a href="http://10.57.26.220:5060">10.57.26.220:5060</a></div>
<div>BYE sip:10.57.26.239:5060;transport=UDP SIP/2.0.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-7.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 2 BYE.</div>
<div>Contact: <a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>.</div>
<div>Max-Forwards: 70.</div>
<div>Subject: Performance Test.</div>
<div>Content-Length: 0.</div>
<div>.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.220:5060">10.57.26.220:5060</a> -> <a href="http://10.57.26.219:5060">10.57.26.219:5060</a></div>
<div>SIP/2.0 404 Not here.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-7.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 2 BYE.</div>
<div>Server: kamailio (4.2.0 (x86_64/linux)).</div>
<div>Content-Length: 0.</div>
<div>.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.219:5060">10.57.26.219:5060</a> -> <a href="http://10.57.26.220:5060">10.57.26.220:5060</a></div>
<div>BYE <a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a> SIP/2.0.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1--1.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 3 BYE.</div>
<div>Max-Forwards: 70.</div>
<div>Contact: <sip:sipp@10.57.26.219:5060;transport=UDP>.</div>
<div>Content-Length: 0.</div>
<div>.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.220:5060">10.57.26.220:5060</a> -> <a href="http://10.57.26.219:5060">10.57.26.219:5060</a></div>
<div>SIP/2.0 404 Not here.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1--1.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 3 BYE.</div>
<div>Server: kamailio (4.2.0 (x86_64/linux)).</div>
<div>Content-Length: 0.</div>
<div>.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.239:5060">10.57.26.239:5060</a> -> <a href="http://10.57.26.220:5060">10.57.26.220:5060</a></div>
<div>SIP/2.0 200 OK.</div>
<div>Via: SIP/2.0/UDP 10.57.26.220;branch=z9hG4bKf92d.33550a94aa52aef3978cb507902d8aaa.0, SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Contact: <sip:10.57.26.239:5060;transport=UDP>.</div>
<div>Content-Type: application/sdp.</div>
<div>Content-Length:   135.</div>
<div>.</div>
<div>v=0.</div>
<div>o=user1 53655765 2353687637 IN IP4 10.57.26.239.</div>
<div>s=-.</div>
<div>c=IN IP4 10.57.26.239.</div>
<div>t=0 0.</div>
<div>m=audio 6000 RTP/AVP 0.</div>
<div>a=rtpmap:0 PCMU/8000.</div>
<div> </div>
<div>#</div>
<div>U <a href="http://10.57.26.220:5060">10.57.26.220:5060</a> -> <a href="http://10.57.26.219:5060">10.57.26.219:5060</a></div>
<div>SIP/2.0 200 OK.</div>
<div>Via: SIP/2.0/UDP 10.57.26.219:5060;branch=z9hG4bK-15698-1-0.</div>
<div>From: sipp <<a href="http://sip:sipp@10.57.26.219:5060">sip:sipp@10.57.26.219:5060</a>>;tag=15698SIPpTag021.</div>
<div>To: sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>;tag=14783SIPpTag018.</div>
<div>Call-ID: <a href="mailto:1-15698@10.57.26.219">1-15698@10.57.26.219</a>.</div>
<div>CSeq: 1 INVITE.</div>
<div>Contact: <sip:10.57.26.239:5060;transport=UDP>.</div>
<div>Content-Type: application/sdp.</div>
<div>Content-Length:   135.</div>
<div>.</div>
<div>v=0.</div>
<div>o=user1 53655765 2353687637 IN IP4 10.57.26.239.</div>
<div>s=-.</div>
<div>c=IN IP4 10.57.26.239.</div>
<div>t=0 0.</div>
<div>m=audio 6000 RTP/AVP 0.</div>
<div>a=rtpmap:0 PCMU/8000.</div>
<div> </div>
</div>
<div> </div>
</div>
<div><strong>kamailio.conf:</strong></div>
<div>
<div> </div>
<div># ----- mi_fifo params -----</div>
<div>modparam("mi_fifo", "fifo_name", "/var/run/kamailio/kamailio_fifo")</div>
<div>modparam("ctl", "binrpc", "unix:/var/run/kamailio/kamailio_ctl")</div>
<div> </div>
<div># ----- rr params -----</div>
<div># add value to ;lr param to cope with most of the UAs</div>
<div>modparam("rr", "enable_full_lr", 0)</div>
<div># do not append from tag to the RR (no need for this script)</div>
<div>modparam("rr", "append_fromtag", 0)</div>
<div> </div>
<div> </div>
<div># ----- acc params -----</div>
<div>modparam("acc", "log_flag", 1)</div>
<div>modparam("acc", "failed_transaction_flag", 3)</div>
<div>modparam("acc", "log_extra", </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>"src_user=$fU;src_domain=$fd;dst_ouser=$tU;dst_user=$rU;dst_domain=$rd;src_ip=$si")</div>
<div> </div>
<div># ----- tm params -----</div>
<div>modparam("tm", "fr_timer", 2000)</div>
<div>modparam("tm", "fr_inv_timer", 40000)</div>
<div> </div>
<div># ----- dispatcher params -----</div>
<div>#modparam("dispatcher", "db_url",</div>
<div>#<span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>"mysql://openser:openserro@localhost/openser")</div>
<div>modparam("dispatcher", "list_file", "/etc/kamailio/dispatcher.list")</div>
<div>modparam("dispatcher", "table_name", "dispatcher")</div>
<div>modparam("dispatcher", "flags", 2)</div>
<div>modparam("dispatcher", "dst_avp", "$avp(AVP_DST)")</div>
<div>modparam("dispatcher", "grp_avp", "$avp(AVP_GRP)")</div>
<div>modparam("dispatcher", "cnt_avp", "$avp(AVP_CNT)")</div>
<div> </div>
<div>####### Routing Logic ########</div>
<div> </div>
<div> </div>
<div># main request routing logic</div>
<div> </div>
<div>route {</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># per request initial checks</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>route(REQINIT);</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># handle requests within SIP dialogs</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>route(WITHINDLG);</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>### only initial requests (no To tag)</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># CANCEL processing</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if (is_method("CANCEL"))</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>{</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if (t_check_trans())</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>t_relay();</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>exit;</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>t_check_trans();</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># record routing for dialog forming requests (in case they are routed)</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># - remove preloaded route headers</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>remove_hf("Route");</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if (is_method("INVITE|SUBSCRIBE"))</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>record_route();</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># account only INVITEs</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if (is_method("INVITE"))</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>{</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>setflag(1); # do accounting</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># handle presence related requests</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>route(PRESENCE);</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># handle registrations</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>route(REGISTRAR);</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if ($rU==$null)</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>{</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># request with no Username in RURI</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>sl_send_reply("484","Address Incomplete");</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>exit;</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># dispatch destinations</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>route(DISPATCH);</div>
<div> </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>route(RELAY);</div>
<div>}</div>
<div> </div>
<div> </div>
<div>route[RELAY] {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if (!t_relay()) {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>sl_reply_error();</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>exit;</div>
<div>}</div>
<div> </div>
<div># Per SIP request initial checks</div>
<div>route[REQINIT] {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if (!mf_process_maxfwd_header("15")) {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>sl_send_reply("483","Too Many Hops");</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>exit;</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div> </div>
<div># 1= only check the header RURI,  1126 checks some other general stuff </div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if(!sanity_check("1126", "1"))</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>{</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>xlog("Malformed SIP message from $si:$sp\n");</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>exit;</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div>}</div>
<div> </div>
<div># Handle requests within SIP dialogs</div>
<div>route[WITHINDLG] {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if (has_totag()) {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># sequential request withing a dialog should</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># take the path determined by record-routing</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>xlog("#######WITHINDLG:hastotag $si:$sp\n");</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if (loose_route()) {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>xlog("#######WITHINDLG:looseroute $si:$sp\n");</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if (is_method("BYE")) {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>setflag(1); # do accounting ...</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>setflag(3); # ... even if the transaction fails</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>route(RELAY);</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>} else {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if (is_method("SUBSCRIBE") && uri == myself) {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># in-dialog subscribe requests</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>route(PRESENCE);</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>exit;</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if ( is_method("ACK") ) {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>if ( t_check_trans() ) {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>xlog("#######WITHINDLG:ACK transaction found $si:$sp\n");</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># non loose-route, but stateful ACK;</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># must be ACK after a 487 or e.g. 404 from upstream server</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>t_relay();</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>exit;</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>} else {</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span># ACK without matching transaction ... ignore and discard.</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>xlog("#######WITHINDLG:ACK no transaction found so discard $si:$sp\n");</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>exit;</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>sl_send_reply("404","Not here");</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>exit;</div>
<div><span class="gmail-Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div>}</div>
</div>
<div> </div>
<div> </div>
<div>Debug:</div>
<div> </div>
<div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:623]: parse_msg(): SIP Request:</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:625]: parse_msg():  method:  <ACK></div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:627]: parse_msg():  uri:     <sip:10.57.26.239:5060;transport=UDP></div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:629]: parse_msg():  version: <SIP/2.0></div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/parse_via.c:1284]: parse_via_param(): Found param type 232, <branch> = <z9hG4bK-15698-1-5>; state=16</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/parse_via.c:2672]: parse_via(): end of header reached, state=5</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:513]: parse_headers(): parse_headers: Via found, flags=2</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:515]: parse_headers(): parse_headers: this is the first via</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [receive.c:154]: receive_msg(): After parse_msg...</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [receive.c:197]: receive_msg(): preparing to run routing scripts...</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: sl [sl_funcs.c:412]: sl_filter_ACK(): DEBUG : sl_filter_ACK: to late to be a local ACK!</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/parse_addr_spec.c:176]: parse_to_param(): DEBUG: add_param: tag=14783SIPpTag018</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/parse_addr_spec.c:898]: parse_addr_spec(): end of header reached, state=29</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:190]: get_hdr_field(): DEBUG: get_hdr_field: <To> [57]; uri=[<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>]</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:192]: get_hdr_field(): DEBUG: to body [sut <<a href="http://sip:service@10.57.26.220:5060">sip:service@10.57.26.220:5060</a>>]</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:170]: get_hdr_field(): get_hdr_field: cseq <CSeq>: <1> <ACK></div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: maxfwd [mf_funcs.c:85]: is_maxfwd_present(): value = 70</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: sanity [mod_sanity.c:255]: w_sanity_check(): sanity checks result: 1</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: siputils [checks.c:106]: has_totag(): totag found</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) ERROR: <script>: #######WITHINDLG:hastotag <a href="http://10.57.26.219:5060">10.57.26.219:5060</a></div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:204]: get_hdr_field(): DEBUG: get_hdr_body : content_length=0</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [parser/msg_parser.c:106]: get_hdr_field(): found end of header</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: rr [loose.c:113]: find_first_route(): No Route headers found</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: rr [loose.c:929]: loose_route(): There is no Route HF</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: tm [t_lookup.c:1072]: t_check_msg(): DEBUG: t_check_msg: msg id=9 global id=8 T start=(nil)</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: tm [t_lookup.c:527]: t_lookup_request(): t_lookup_request: start searching: hash=53919, isACK=1</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: tm [t_lookup.c:485]: matching_3261(): DEBUG: RFC3261 transaction matching failed</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: tm [t_lookup.c:709]: t_lookup_request(): DEBUG: t_lookup_request: no transaction found</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: tm [t_lookup.c:1141]: t_check_msg(): DEBUG: t_check_msg: msg id=9 global id=9 T end=(nil)</div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) ERROR: <script>: #######WITHINDLG:ACK no transaction found so discard <a href="http://10.57.26.219:5060">10.57.26.219:5060</a></div>
<div>Dec 15 15:12:02 DNS-enum-8Gb-3 kamailio[6864]: 1(6883) DEBUG: <core> [usr_avp.c:643]: destroy_avp_list(): DEBUG:destroy_avp_list: destroying list (nil)</div>
</div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
</div>
<br />
<pre>_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<p> </p>
<div> </div>
</body></html>