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("tm", "ruri_matching",
0) and it didn't work.<br>
<br>
This is the openser.cfg:<br>
<br>
route{<br>
<br>
# initial sanity checks -- messages with<br>
# max_forwards==0, or excessively long requests<br>
if (!mf_process_maxfwd_header("10")) {<br>
sl_send_reply("483","Too Many Hops");<br>
exit;<br>
};<br>
<br>
if (msg:len >= 2048 ) {<br>
sl_send_reply("513", "Message too big");<br>
exit;<br>
};<br>
<br>
<br>
xlog("L_INFO", "$rm: ci=$ci ft=$ft tt=$tt
cseq=$cs ruri:$ru received from: $si:$sp \n"); <br>
<br>
# we record-route all messages -- to make sure that<br>
# subsequent messages will go through our proxy; that's<br>
# particularly good if upstream and downstream entities<br>
# use different transport protocol<br>
if (!is_method("REGISTER|ACK|CANCEL")) {<br>
record_route();<br>
} <br>
<br>
if (is_method("CANCEL")) { <br>
xlog ("L_INFO", "$rm: cseq:$cs $ru: RELAYING CANCEL to $du (flags: $mF) ...\n");<br>
t_relay();<br>
exit();<br>
}<br>
<br>
# subsequent messages withing a dialog should take the<br>
# path determined by record-routing<br>
if (loose_route()) {<br>
# mark routing logic in request<br>
append_hf("P-hint: rr-enforced\r\n"); <br>
route(1);<br>
exit;<br>
};<br>
<br>
<br>
# if the request is for other domain use UsrLoc<br>
# (in case, it does not work, use the following command<br>
# with proper names and addresses in it)<br>
if (uri==myself) {<br>
<br>
if (method=="REGISTER") {<br>
<br>
# Uncomment this if you want to use digest authentication<br>
#if (!www_authorize("<a href="http://openser.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">openser.org</a>", "subscriber")) {<br>
# www_challenge("<a href="http://openser.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">openser.org</a>", "0");<br>
# exit;<br>
#};<br>
<br>
save("location");<br>
exit;<br>
};<br>
<br>
# native SIP destinations are handled using our USRLOC DB<br>
if (!lookup("location")) {<br>
sl_send_reply("404", "Not Found");<br>
exit;<br>
};<br>
append_hf("P-hint: usrloc applied\r\n"); <br>
route(1);<br>
};<br>
<br>
route(1);<br>
}<br>
<br>
route[1] {<br>
xlog ("L_INFO", "$rm: cseq:$cs $ru: RELAYING to $du (flags: $mF) ...\n");<br>
if (!t_relay()) {<br>
sl_reply_error();<br>
};<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=<null> 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> <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=<null> 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> <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 (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=<null> 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> <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 (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=<null> 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> <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 (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=<null> 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> <<a href="mailto:daniel@voice-system.ro" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
daniel@voice-system.ro</a>> 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>> *Hi,<br>><br>> I am experiencing a problem regarding CANCEL processing, I have the<br>> normal config file plus the following (I got that in a previous mail)
<br>><br>> *<br>> if (is_method("CANCEL")) {<br>> t_relay();<br>> break;<br>> }<br>><br>><br>> The problem is that openserver is relaying the CANCEL, but putting a
<br>> completely new branch tag in the Via header, instead of the same<br>> branch than in the INVITE that is to be cancel. I have debug dump,<br>> that shows that the CANCEL message is matched with the INVITE, but it
<br>> still put a new branch in the relayed cancel, and also in the 200 OK<br>> response.<br>><br>> If somebody could help me it would be great<br>> [...]<br></blockquote></div><br>