[SR-Users] CANCEL not matching INVITES !

Sammy Govind govoiper at gmail.com
Sat Dec 3 12:29:30 CET 2011


Hi,

I wouldn't say it a bug then, since its ok from specs poiint of view. The
real issue was that we had Asterisk realtime previously which had the same
extension set enabled in DB.

So the users with same extensions registering on Kamailio making calls via
asterisk had trouble because asterisk started matching the incoming
callerid-name with the ones in its realtime DB. So obviously Asterisk had
to ask for AUTH since the phone is not actually registered but still
sending INVITES.

So I had to disable the asterisk realtime and asterisk stopped asking for
the extension specific password from kamailio and kamailio just relays the
Auth request to x-lite/eyebeam.

The phones since already have gone through the authentication process maybe
failing to understand why is this Authentication request required and drop
it or something. This was observed in multiple vendor IP-Phones and
softphones.

But at the end, I really thank you for pointing out the issue cause and  it
really resolved it, else I was totally lost in TM module pages to find any
function which I missed to match these CANCELs.


Best Regards,
Sammy


On Fri, Dec 2, 2011 at 10:55 PM, Daniel-Constantin Mierla <miconda at gmail.com
> wrote:

>  Hello,
>
>
> On 12/2/11 5:24 AM, Sammy Govind wrote:
>
> Hello again,
>
>  You were right, as soon as I made changes in asterisk SIP profile for
> the Kamailio proxy server and stopped the 401 Auth from Asterisk to
> Kamailio the CANCELS started to work fine.
>
> well, the 401 from asterisk is ok from specs point of view (although many
> phones don't work with many challenges), but this case revealed some bugs
> in asterisk as well as in xlite, both of them had misbehavior.
>
> Cheers,
> Daniel
>
>
>
>
>  So the SIP flow now is:
>
> - invite from phone to kamailio
> - kamailio asks for authentication - 407
> - ack
> - invite with credentials, kamailio forwards to asterisk
> - asterisk starts processing the invite and call can be cancelled now.
>
>
>  Thanks alot
>
>  --
>
>  Best Regards,
> Sammy.
>
> On Thu, Dec 1, 2011 at 12:01 PM, Sammy Govind <govoiper at gmail.com> wrote:
>
>> Hey Daniel,
>>
>>  I've exactly followed your point, I'll try some stuff on asterisk
>> server to stop asking for 401 Auth to Kamailio., maybe this will eliminate
>> the need for another INVITE with authentication params.
>>
>> But one thing which just makes me curious is that a soft phone directly
>> coming from a Public IP is always able to successfully CANCEL the call.
>>
>>  Anyway I'll use some brain of mine on this and let you know what
>> resolved it, or what I'm missing.
>>
>>  Thanks,
>> Sammy
>>
>>
>> On Wed, Nov 30, 2011 at 5:47 PM, Daniel-Constantin Mierla <
>> miconda at gmail.com> wrote:
>>
>>>  Hello,
>>>
>>> is the SIP trace complete?
>>>
>>> What I could find inside is:
>>> - invite from phone to kamailio
>>> - kamailio asks for authentication - 407
>>> - ack
>>> - invite with credentials, kamailio forwards to asterisk
>>> - asterisk asks for authentication - 401
>>> - ack
>>> - there is no new INVITE with credentials for kamailio and asterisk
>>> - but the phone starts sending CANCELs -- since there is no active
>>> INVITE transaction, kamailio just drops it due to config rules
>>> - after a while asterisk starts sending like 180 ringing, then 200ok ...
>>> really strange
>>>
>>> Maybe you haven't captured all the sip traffic. If you want to use
>>> ngrep, do on kamailio server:
>>>
>>>
>>> ngrep -d any -qt -W byline port 5060
>>>
>>>  If that's all the traffic, then xlite and asterisk seems to have some
>>> bugs - both were aware of 401 reply (asterisk generated it, xlite sent the
>>> ACK for it) -- so no ongoing call to CANCEL by xlite, or to answer by
>>> Asterisk (the 180, 200 replies).
>>>
>>> From kamailio point of view, if there is no INVITE following the 401
>>> reply to xlite, there is no active invite transaction to cancel.
>>>
>>> Cheers,
>>> Daniel
>>>
>>>
>>> On 11/30/11 12:02 AM, Daniel-Constantin Mierla wrote:
>>>
>>> Hello,
>>>
>>> I will look over it soon - since you sent pcap I couldn't look at it
>>> directly from the email. ngrep outputs plain text which is easy to read
>>> from email, the reason I am asking mainly for ngrep traces since many times
>>> I am not around a computer where is convenient to open pcap file. On the
>>> other hand, if it is a transmission problem (at transport layer), pcap file
>>> is better.
>>>
>>> Cheers,
>>> Daniel
>>>
>>> On 11/29/11 5:07 AM, Sammy Govind wrote:
>>>
>>> Hello again,
>>>
>>>  Please see the attached wireshark trace, I tried for a sipgrep trace
>>> but couldn't somehow. I hope this will get me some clue on what I'm doing
>>> wrong.
>>>
>>>  This is a setup with Kamailio in front of Asterisk Servers. Kamailio
>>> is multihomed and MS are on private IPs, all the calls are routed to MSs
>>> and then comeback for further dial-outs.
>>>
>>>  Please see the Continuous CANCEL requests which aren't terminating the
>>> call.
>>>
>>>  Thanks,
>>> Sammy.
>>>
>>>  On Mon, Nov 28, 2011 at 4:41 PM, Sammy Govind <govoiper at gmail.com>wrote:
>>>
>>>> Thanks for your reply I will attach the wireshark traces as soon as I
>>>> get to my workstation.
>>>>
>>>>  BR,
>>>> Sammy.
>>>>
>>>>
>>>> On Mon, Nov 28, 2011 at 3:33 PM, Daniel-Constantin Mierla <
>>>> miconda at gmail.com> wrote:
>>>>
>>>>>  Hello,
>>>>>
>>>>> send the ngrep trace of such call, from the initial INVITE, you can
>>>>> use:
>>>>>
>>>>> ngrep -d any -qt -W byline port 5060
>>>>>
>>>>> The sip trace will help to see what is wrong with that CANCEL.
>>>>>
>>>>> Cheers,
>>>>> Daniel
>>>>>
>>>>>
>>>>> On 11/28/11 7:19 AM, Sammy Govind wrote:
>>>>>
>>>>>  Anyone please help.
>>>>>
>>>>> On Sat, Nov 26, 2011 at 10:39 PM, Sammy Govind <govoiper at gmail.com>wrote:
>>>>>
>>>>>> Hello list,
>>>>>>
>>>>>>  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.
>>>>>>
>>>>>>  root at SBCserver:~# kamailio -V
>>>>>> version: kamailio 3.1.5 (x86_64/linux) 76fff5
>>>>>> 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
>>>>>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
>>>>>> MAX_URI_SIZE 1024, BUF_SIZE 65535, PKG_SIZE 4MB
>>>>>> poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>>>>>> id: 76fff5
>>>>>> compiled on 08:21:33 Oct 27 2011 with gcc 4.6.1
>>>>>> root at SBCserver:~#
>>>>>>
>>>>>>
>>>>>>  Problem:
>>>>>> 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.
>>>>>>
>>>>>>  # CANCEL processing
>>>>>> if (is_method("CANCEL"))
>>>>>> {
>>>>>>      xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) ---CAPTURED IN
>>>>>> MAIN---\n");
>>>>>>      if (t_check_trans()){
>>>>>>         t_relay();
>>>>>>         xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) ---CHECK TRANS
>>>>>> TRUE---\n");
>>>>>>      }
>>>>>>      xlog("L_NOTICE","$rm from $fu (IP:$si:$sp) ---CHECK TRANS
>>>>>> FALSE---\n");
>>>>>>      exit;
>>>>>> }
>>>>>>
>>>>>>  Also the CANCEL fails the has_totag() condition !
>>>>>>
>>>>>>  The same Call CANCEL scenario works fine for any client on Public
>>>>>> IP !
>>>>>>
>>>>>>  Hope to get some pointers for the solution.
>>>>>>
>>>>>>  Regards,
>>>>>> Sammy.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>  _______________________________________________
>>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>>>
>>>>>
>>>>> --
>>>>> Daniel-Constantin Mierla -- http://www.asipto.com
>>>>> Kamailio Advanced Training, Dec 5-8, Berlin: http://asipto.com/u/kathttp://linkedin.com/in/miconda -- http://twitter.com/miconda
>>>>>
>>>>>
>>>>
>>>
>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>> --
>>> Daniel-Constantin Mierla -- http://www.asipto.com
>>> Kamailio Advanced Training, Dec 5-8, Berlin: http://asipto.com/u/kathttp://linkedin.com/in/miconda -- http://twitter.com/miconda
>>>
>>>
>>>
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>>
>>> --
>>> Daniel-Constantin Mierla -- http://www.asipto.com
>>> Kamailio Advanced Training, Dec 5-8, Berlin: http://asipto.com/u/kathttp://linkedin.com/in/miconda -- http://twitter.com/miconda
>>>
>>>
>>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
> --
> Daniel-Constantin Mierla -- http://www.asipto.com
> Kamailio Advanced Training, Dec 5-8, Berlin: http://asipto.com/u/kathttp://linkedin.com/in/miconda -- http://twitter.com/miconda
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20111203/39c36c5e/attachment-0001.htm>


More information about the sr-users mailing list