[SR-Users] AVP Error in version 3.1.0

Daniel-Constantin Mierla miconda at gmail.com
Fri Feb 18 10:11:33 CET 2011


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 
> <http://sip:5614510478@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 
> <http://sip:5614510478@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 
> <http://sip:5614510478@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 <mailto: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  <mailto: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/20110218/d77935f8/attachment.htm>


More information about the sr-users mailing list