[SR-Users] sipp and stateful transaction problem

Klaus Darilion klaus.mailinglists at pernau.at
Tue May 25 09:54:32 CEST 2010


Am 25.05.2010 00:57, schrieb JR Richardson:
> On Mon, May 24, 2010 at 2:33 PM, Klaus Darilion
> <klaus.mailinglists at pernau.at>  wrote:
>>
>>
>> On 21.05.2010 23:46, Daniel-Constantin Mierla wrote:
>>>
>>> Hello,
>>>
>>> On 5/21/10 10:47 PM, JR Richardson wrote:
>>>>
>>>> Hi All,
>>>>
>>>> I'm doing some testing with kamailio 1.5:
>>>>
>>>> kamailio1:/etc/kamailio# kamailio -V
>>>> version: kamailio 1.5.4-notls (i386/linux)
>>>> flags: STATISTICS, USE_IPV6, USE_TCP, DISABLE_NAGLE, USE_MCAST,
>>>> SHM_MMAP, PKG_MALLOC, F_MALLOC, FAST_LOCK-ADAPTIVE_WAIT
>>>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
>>>> MAX_URI_SIZE 1024, BUF_SIZE 65535, PKG_SIZE 4194304
>>>> poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>>>> svnrevision: 2:6005M
>>>> @(#) $Id: main.c 5608 2009-02-13 16:48:17Z henningw $
>>>> main.c compiled on 10:14:11 May 18 2010 with gcc 4.3.2
>>>>
>>>> Using dispatcher module trying to load balance SIP calls across some
>>>> Asterisk servers. I have it working fine when I test in this
>>>> scenario:
>>>>
>>>> sip phone dial out><asterisk><kamailio><round robin to several
>>>> asterisk servers
>>>>
>>>> This works stateful and stateless, handles everything gracefully.
>>>>
>>>> This scenario is giving me fits:
>>>>
>>>> sipp dial out><kamailio><round robin to several asterisk servers
>>>>
>>>> I get retransmits on every call back to sipp with errors like
>>
>> what means "call back"?
>
> sipp send invite to kamailio which forwards to asterisk in dispatcher
> list, asterisk responds
> back to kamailio which forwards that response back to sipp and I get the error:
> SIP/2.0 481 Call leg/transaction does not exist on sipp.

The question is: Is the 481 generated by Asterisk or is it generated by 
sipp?

Anyway, response routing must always be correct as it is based on Via 
headers.

If you want stateful load balancing, you usually hash over a constant 
field, e.g. From URI (if you want all messages from a certain user to be 
sent to the same Asterisk server) or Call-id (then all messages within a 
call will be routed to the same Asterisk)

regards
Klaus

>
> So I think this is not supposed to work like I want it to.  The
> dispatcher module is for
> stateless processing only, so even though I have  RR and TM functions
> in my routing script
> it does not act properly.  I don't think I can use dispatcher for what
> I want, which is a
> stateful load balancer.
>
> I am looking at 3.0 and carrierroute or lcr module.
>
> Thanks.
>
> JR
>
>
>>
>> You are operating sipp in uac mode - thus it is not capable of receiving
>> requests.
>>
>> Maybe Asterisk is send reINVITEs which are not handled correctly by sipp.
>> set canreinvite=no in sip.conf (Asterisk)
>>
>> regards
>> klaus
>>
>>>> "Discarding message which can't be mapped to a known SIPp call" and
>>>> "SIP/2.0 481 Call leg/transaction does not exist"
>>>>
>>>> This happens with kamailio setup stateful or stateless. I'm wondering
>>>> if sipp is the problem or just doesn't play well with kamailio?
>>>>
>>>> I've kept the config as simple as possible for testing, it is listed
>>>> here http://pastebin.com/BZ8hJvJv
>>>>
>>>> Here is my sipp usage:
>>>>
>>>> sipp -sn uac 10.10.12.53 -i 10.10.14.97 -s 55 -d 7000 -l 10 -r 1
>>>> -trace_err
>>>>
>>>> Any insight would be appriciated.
>>>>
>>> the problem is in your sipp scenario. The uac calls do not map to uas.
>>> kamailio does not reply 481, check the uas scenario, that is the one
>>> that sends back the 481.
>>>
>>> Cheers,
>>> Daniel
>>>
>>
>
>
>



More information about the sr-users mailing list