Hello list,<div><br></div><div>I'm using Kamailio 3.1.5 in front of asterisk servers. Kamailio handles all the SIP registrations. Calls from SIP phones are forwarded to asterisks and then dialled out to Kamailio.</div>
<div><br></div><div><div><font face="'courier new', monospace">root@SBCserver:~# kamailio -V</font></div>
<div><font face="'courier new', monospace">version: kamailio 3.1.5 (x86_64/linux) 76fff5</font></div><div><font face="'courier new', monospace">flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES</font></div>
<div><font face="'courier new', monospace">ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, PKG_SIZE 4MB</font></div><div><font face="'courier new', monospace">poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.</font></div>
<div><font face="'courier new', monospace">id: 76fff5</font></div><div><font face="'courier new', monospace">compiled on 08:21:33 Oct 27 2011 with gcc 4.6.1</font></div>
<div><font face="'courier new', monospace">root@SBCserver:~#</font></div><div><br></div><div><br></div></div><div>Problem: </div><div>When call is initiated from a softphone and is in ringing phase, CANCEL just don't work. I've done some initial debugging and the following piece of code in main route is failing.</div>
<div><br></div><div><div><font face="'courier new', monospace"># CANCEL processing</font></div><div><font face="'courier new', monospace">if (is_method("CANCEL"))</font></div>
<div><font face="'courier new', monospace">{</font></div><div><font face="'courier new', monospace"> xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) ---CAPTURED IN MAIN---\n");</font></div>
<div><font face="'courier new', monospace"> if (t_check_trans()){</font></div><div><font face="'courier new', monospace"> t_relay();</font></div>
<div><font face="'courier new', monospace"> xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) ---CHECK TRANS TRUE---\n");</font></div><div><font face="'courier new', monospace"> }</font></div>
<div><font face="'courier new', monospace"> xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) ---CHECK TRANS FALSE---\n");</font></div><div><span style="font-family:'courier new',monospace"> exit;</span></div>
<div><font face="'courier new', monospace">}</font></div></div><div><br></div><div>Also the CANCEL fails the has_totag() condition !</div><div><br></div><div>The same Call CANCEL scenario works fine for any client on Public IP !</div>
<div><br></div><div>Hope to get some pointers for the solution.</div><div><br></div><div>Regards,</div><div>Sammy.</div>