Hello,<br>
<br>
I have attached the tcpdump log, and a call flow diagram, I hope it will be useful.<br>
<br>
Maybe the problem is that the cancel request uri does not match the
invite request uri. But I tried putting modparam(&quot;tm&quot;, &quot;ruri_matching&quot;,
0) and it didn't work.<br>
<br>
This is the openser.cfg:<br>
<br>
route{<br>
<br>
&nbsp;&nbsp;&nbsp; # initial sanity checks -- messages with<br>
&nbsp;&nbsp;&nbsp; # max_forwards==0, or excessively long requests<br>
&nbsp;&nbsp;&nbsp; if (!mf_process_maxfwd_header(&quot;10&quot;)) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;483&quot;,&quot;Too Many Hops&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; if (msg:len &gt;=&nbsp; 2048 ) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;513&quot;, &quot;Message too big&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
<br>
&nbsp;&nbsp;&nbsp; xlog(&quot;L_INFO&quot;,&nbsp; &quot;$rm: ci=$ci ft=$ft tt=$tt
cseq=$cs ruri:$ru received from: $si:$sp \n&quot;);&nbsp;&nbsp;&nbsp; <br>
<br>
&nbsp;&nbsp;&nbsp; # we record-route all messages -- to make sure that<br>
&nbsp;&nbsp;&nbsp; # subsequent messages will go through our proxy; that's<br>
&nbsp;&nbsp;&nbsp; # particularly good if upstream and downstream entities<br>
&nbsp;&nbsp;&nbsp; # use different transport protocol<br>
&nbsp;&nbsp;&nbsp; if (!is_method(&quot;REGISTER|ACK|CANCEL&quot;)) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; record_route();<br>
&nbsp;&nbsp;&nbsp; } <br>
<br>
&nbsp;&nbsp;&nbsp; if (is_method(&quot;CANCEL&quot;)) {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xlog (&quot;L_INFO&quot;, &quot;$rm: cseq:$cs $ru: RELAYING CANCEL to $du (flags: $mF) ...\n&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; t_relay();<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit();<br>
&nbsp;&nbsp;&nbsp; }<br>
<br>
&nbsp;&nbsp;&nbsp; # subsequent messages withing a dialog should take the<br>
&nbsp;&nbsp;&nbsp; # path determined by record-routing<br>
&nbsp;&nbsp;&nbsp; if (loose_route()) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # mark routing logic in request<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; append_hf(&quot;P-hint: rr-enforced\r\n&quot;); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; # if the request is for other domain use UsrLoc<br>
&nbsp;&nbsp;&nbsp; # (in case, it does not work, use the following command<br>
&nbsp;&nbsp;&nbsp; # with proper names and addresses in it)<br>
&nbsp;&nbsp;&nbsp; if (uri==myself) {<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (method==&quot;REGISTER&quot;) {<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # Uncomment this if you want to use digest authentication<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; #if (!www_authorize(&quot;<a href="http://openser.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">openser.org</a>&quot;, &quot;subscriber&quot;)) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp; www_challenge(&quot;<a href="http://openser.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">openser.org</a>&quot;, &quot;0&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp; exit;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; #};<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; save(&quot;location&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; # native SIP destinations are handled using our USRLOC DB<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (!lookup(&quot;location&quot;)) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_send_reply(&quot;404&quot;, &quot;Not Found&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; exit;<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; };<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; append_hf(&quot;P-hint: usrloc applied\r\n&quot;); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; route(1);<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
&nbsp;&nbsp;&nbsp; route(1);<br>
}<br>
<br>
route[1] {<br>
&nbsp;&nbsp;&nbsp; xlog (&quot;L_INFO&quot;, &quot;$rm: cseq:$cs $ru: RELAYING to $du (flags: $mF) ...\n&quot;);<br>
&nbsp;&nbsp;&nbsp; if (!t_relay()) {<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sl_reply_error();<br>
&nbsp;&nbsp;&nbsp; };<br>
<br>
}<br>
<br>
<br>
This is the log of the openser:<br>
<br>
Jan 31 11:43:36 minilab07 ./openser[15342]: INVITE:
ci=<a href="mailto:1-17070@10.161.14.105" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1-17070@10.161.14.105</a> ft=6661 tt=&lt;null&gt; cseq=1
<a href="mailto:ruri:sip:user4@home2.jagarvayo.dev" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">ruri:sip:user4@home2.jagarvayo.dev</a> received from:
<a href="http://10.161.14.59:5060" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">10.161.14.59:5060</a>&nbsp; <br>
Jan 31 11:43:36 minilab07 ./openser[15342]: INVITE: cseq:1
<a href="mailto:sip:user4@home2.jagarvayo.dev" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:user4@home2.jagarvayo.dev</a>: RELAYING to
<a href="mailto:sip:csm002_9a7fa601f073fb780fec6551d45facc8@10.161.14.59" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">sip:csm002_9a7fa601f073fb780fec6551d45facc8@10.161.14.59</a>;lr (flags:
00000000) ... <br>
Jan 31 11:43:38 minilab07 ./openser[15342]: CANCEL:
ci=<a href="mailto:1-17070@10.161.14.105" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1-17070@10.161.14.105</a> ft=6661 tt=&lt;null&gt; cseq=1
ruri:sip:<a href="http://10.161.14.105:6030" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">10.161.14.105:6030</a> received from: <a href="http://10.161.14.59:5060" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
10.161.14.59:5060</a>&nbsp; <br>
Jan 31 11:43:38 minilab07 ./openser[15342]: CANCEL: cseq:1
sip:<a href="http://10.161.14.105:6030" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">10.161.14.105:6030</a>: RELAYING CANCEL to&nbsp; (flags: 00000000) ... <br>
Jan 31 11:43:39 minilab07 ./openser[15341]: CANCEL:
ci=<a href="mailto:1-17070@10.161.14.105" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1-17070@10.161.14.105</a> ft=6661 tt=&lt;null&gt; cseq=1
ruri:sip:<a href="http://10.161.14.105:6030" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">10.161.14.105:6030</a> received from: <a href="http://10.161.14.59:5060" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
10.161.14.59:5060</a>&nbsp; <br>
Jan 31 11:43:39 minilab07 ./openser[15341]: CANCEL: cseq:1
sip:<a href="http://10.161.14.105:6030" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">10.161.14.105:6030</a>: RELAYING CANCEL to&nbsp; (flags: 00000000) ... <br>
Jan 31 11:43:40 minilab07 ./openser[15341]: CANCEL:
ci=<a href="mailto:1-17070@10.161.14.105" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1-17070@10.161.14.105</a> ft=6661 tt=&lt;null&gt; cseq=1
ruri:sip:<a href="http://10.161.14.105:6030" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">10.161.14.105:6030</a> received from: <a href="http://10.161.14.59:5060" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
10.161.14.59:5060</a>&nbsp; <br>
Jan 31 11:43:40 minilab07 ./openser[15341]: CANCEL: cseq:1
sip:<a href="http://10.161.14.105:6030" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">10.161.14.105:6030</a>: RELAYING CANCEL to&nbsp; (flags: 00000000) ... <br>
Jan 31 11:43:42 minilab07 ./openser[15341]: CANCEL:
ci=<a href="mailto:1-17070@10.161.14.105" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">1-17070@10.161.14.105</a> ft=6661 tt=&lt;null&gt; cseq=1
ruri:sip:<a href="http://10.161.14.105:6030" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">10.161.14.105:6030</a> received from: <a href="http://10.161.14.59:50" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
10.161.14.59:50</a><br>
<br>
Thanks a lot<br><br><div><span class="gmail_quote">On 1/29/06, <b class="gmail_sendername">Daniel-Constantin Mierla</b> &lt;<a href="mailto:daniel@voice-system.ro" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
daniel@voice-system.ro</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br><br>it is hard to watch the content of the SIP messages from the debug logs.<br>Could you please post the network trace for this situation? Use:<br><br>ngrep -qt port 5060<br><br>on the openser machine. That will show us the content of the SIP requests.
<br><br>Cheers,<br>Daniel<br><br><br>On 01/27/06 13:03, Jose Antonio Garvayo wrote:<br>&gt; *Hi,<br>&gt;<br>&gt; I am experiencing a problem regarding CANCEL processing, I have the<br>&gt; normal config file plus the following (I got that in a previous mail)
<br>&gt;<br>&gt; *<br>&gt; if (is_method(&quot;CANCEL&quot;)) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_relay();<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br>&gt; }<br>&gt;<br>&gt;<br>&gt; The problem is that openserver is relaying the CANCEL, but putting a
<br>&gt; completely new branch tag in the Via header, instead of the same<br>&gt; branch than in the INVITE that is to be cancel. I have debug dump,<br>&gt; that shows that the CANCEL message is matched with the INVITE, but it
<br>&gt; still put a new branch in the relayed cancel, and also in the 200 OK<br>&gt; response.<br>&gt;<br>&gt; If somebody could help me it would be great<br>&gt; [...]<br></blockquote></div><br>