[SR-Users] AVP Error in version 3.1.0

Jijo realjijo at gmail.com
Sun Feb 20 18:53:49 CET 2011


Yes this happens in a testing environment..
I got your point, we saved after t-relay to send the message faster as db save can cause delay.
We will make the changes as per your suggestion .
Thanks
Jijo

On Feb 18, 2011, at 4:11 AM, Daniel-Constantin Mierla <miconda at gmail.com> wrote:

> Hello,
> 
> is any particular reason to do the processing after t_relay() ? You can do the save before, since it is the same register message.
> 
> Also, are you getting this in a testing environment while using tools like sipp to simulate traffic?
> 
> Starting with 3.0, the AVPs (which are associated with the message and transaction in this case) become available in onreply_route[3] (in 1.x that was a config option for tm module), so if it is fast reply, it my happen that the avps are no longer available in the script after t_relay().
> 
> As a recommended rule, it is better to avoid using avps after t_relay() - this function creates the transaction and forwards the message. From there on, the avps are in the hands of tm module, which moves them to onreply_route or failure_route, depending on your config file.
> 
> Cheers,
> Daniel
> 
> On 2/16/11 4:28 PM, Jijo wrote:
>> 
>> Hi Daniel,
>> 
>> Please find the code and corresponding error trace. This happens only for 1 subscriber randomly out of 2000 subscribers. This can be reproduced consistently also.
>> 
>> route(1)
>> {
>> :
>> :
>> :
>> 
>>         # -----------------------------------------------------------------
>>         # Registration handling dynamic endpoints
>>         # -----------------------------------------------------------------
>>  
>>         $avp(reg_contact)= $ct;
>>         $var(reg_contact)= $ct;
>>         t_on_reply("3");
>> 
>>         if(!is_avp_set("$avp(reg_contact)")) 
>>             xlog("L_ERR", "R1 - not set the reg_contact3 F=$fu T=$tu Ct=$ct IP=$si CI=$ci var_contact:$var(reg_contact)\n");
>>  
>>          # relay
>>          if(!t_relay_to("0x3"))
>>         {
>>             xlog("L_ERR", "R1/R10 - Registration failed - M=$rm F=$fu T=$tu CT=$ct IP=$si CI=$ci\n");
>>             append_to_reply("Warning: 399 $Ri - R1 - Registration failed: fail in relay in R10.\r\n");
>>             sl_reply_error();
>>             exit;
>>         }
>> 
>>         if(!is_avp_set("$avp(reg_contact)")) 
>>             xlog("L_ERR", "R1 - not set the reg_contact4 F=$fu T=$tu Ct=$ct IP=$si CI=$ci var_contact:$var(reg_contact)\n");
>> 
>>         xlog("L_ERR", "R1 - Saving Registration-2  save to location F=$fu T=$tu Ct=$ct IP=$si CI=$ci reg_ct:$avp(reg_contact)\n");
>>  
>>          if(!isflagset(28) && is_avp_set("$avp(reg_contact)")) # Check if we need to save it in location table
>>         {
>>             if(!save("location","0x02"))
>>             {
>>                 xlog("L_ERR", "R1 - Location save for Registration failed - M=$rm F=$fu T=$tu IP=$si CT=$ct\n");
>>             }
>>         }
>>  
>> LOGS for the error condtion.
>>  
>> 
>> 2011-02-15T12:19:30-05:00 [err] sipserver: ERROR: <script>: R1 - not set the reg_contact4 F=sip:5614510478 at 10.235.86.54:5060;transport=UDP T=sip:5614510478 at 10.235.86.54:5060;transport=UDP Ct=<sip:5614510478 at 10.235.204.5:5060> IP=10.235.204.5 CI=119ac328-4cceb0a-13c4-7fa55-76a2903a-7fa55 var_contact:<sip:5614510478 at 10.235.204.5:5060>
>> 2011-02-15T12:19:30-05:00 [err] sipserver: ERROR: <script>: R1 - Saving Registration-2  save to location F=sip:5614510478 at 10.235.86.54:5060;transport=UDP T=sip:5614510478 at 10.235.86.54:5060;transport=UDP Ct=<sip:5614510478 at 10.235.204.5:5060> IP=10.235.204.5 CI=119ac328-4cceb0a-13c4-7fa55-76a2903a-7fa55 reg_ct:<null>
>> 
>> 
>> On Wed, Feb 16, 2011 at 5:02 AM, Daniel-Constantin Mierla <miconda at gmail.com> wrote:
>> Hello,
>> 
>> it is not clear for me what you tried to do. Can you paste here the parts of the config file that are relevant for the case? Do you relay the REGISTER?
>> 
>> Cheers,
>> Daniel
>> 
>> 
>> On 2/16/11 1:17 AM, Jijo wrote:
>>> Hi All,
>>> 
>>> On register we store the contact in an avp variable and do a t_relay(). After t_relay() the $avp variable becomes null. 
>>> I printed the value before after t_relay() to determine this behavior.
>>> This happens only on registration load test around 2000 subcribers with ( 4 REGISTER/sec).  This happens only for one subscriber out of 2000 subscribers. 
>>> 
>>> I did the similar test with $var and its working fine.
>>> 
>>> Anybody observed similar behavior with avp? This was working in kamailio 1.4 version. We did the upgrade recently to 3.1.0 and started observing this issue.
>>> 
>>> How do we debug this issue.?
>>> 
>>> 
>>> Thanks
>>> Jijo
>>> 
>>> 
>>> _______________________________________________
>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>>> sr-users at lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>> 
>> -- 
>> Daniel-Constantin Mierla
>> http://www.asipto.com
>> 
> 
> -- 
> Daniel-Constantin Mierla
> http://www.asipto.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20110220/097b7a8e/attachment.htm>


More information about the sr-users mailing list