[OpenSIPS-Users] load_balancer module retcode

k1028 mrprotocols at gmail.com
Fri May 8 18:31:29 CEST 2009


I tried everything possible and couldn't get the return code to return a
negative value when it reach the limiation. I have the same problem with the
sample script from Opensips tutorial for load_balancer.so. The retcode is
always return back as 18446744073709551614 and instead of negative value. 


Bogdan-Andrei Iancu wrote:
> 
> Hi,
> 
> I think there is a error in your script....the $retcode returns the 
> return code of the last used function, but your LB function is much, 
> much above the retcode testing....
> 
> Regards,
> Bogdan
> 
> k1028 wrote:
>> I am playing with the Load_balancer module at this time. The retcode does
>> not
>> return a negative value for me instead it return 18446744073709551614
>> when
>> it reach the pstn limit
>>
>> I tried with pstn=1 and pstn=2 using 1 peer and 2 peer. All come back
>> with
>> the same retcode. 
>>
>> I also tried my route script as well as the one from opensips tutorial.
>> Also
>> tried google, search forum and looked up tracker not able to find
>> anything.
>> Any help would be greatly appreciated
>>
>> version: opensips 1.5.1-notls (x86_64/linux)
>>
>> this is my route script
>> # ----- Dialog params -----
>> modparam("dialog", "dlg_flag", 5)                                       
>> modparam("dialog", "timeout_avp", "$avp(i:4242)")                      
>> #Set
>> AVP timeout variable
>>
>> # ----- SST params -----
>> modparam("sst", "sst_flag", 6)                                         
>> #Set
>> SST flag
>> modparam("sst", "timeout_avp", "$avp(i:4242)")                          
>> modparam("sst", "min_se", 10800)                                       
>> #Min
>> Session Timer
>>
>> # ----- QOS params -----
>> modparam("qos", "qos_flag", 7)                                         
>> #Set
>> QoS falg
>>
>>
>> route{
>>
>>         if(msg:len > max_len)
>>         {
>>                 sl_send_reply("513", "Message Too Big");
>>                 exit;
>>         }
>>
>>         if (!mf_process_maxfwd_header("3")) {
>>                 sl_send_reply("483","Too Many Hops");
>>                 exit;
>>         }
>>
>>         # record routing
>>         if (!has_totag()) {
>>                 # initial request
>>                 record_route();
>>         } else {
>>                 # sequential request -> obey Route indication
>>                 loose_route();
>>                 t_relay();
>>                 exit;
>>         }
>>
>>         if ( is_method("INVITE") ) {
>>                 if (sstCheckMin("1")) {
>>                         xlog("L_ERR", "422 Session Timer Too Small reply
>> sent.\n");
>>                         exit;
>>                 }
>>                 # track the session timers via the dialog module
>>                 setflag(5);
>>                 setflag(6);
>>                 setflag(7);
>>         }
>>
>>         if ( uri=~"sip:[0-9][0-9]+ at .*" ) {
>>                 load_balance("40","pstn");
>>                 xlog("L_INFO","Selected destination is: $du = $du AND
>> retcode = $retcode \n\n");
>>                 route(3);
>>         }
>>
>> route[3] {
>>
>>         t_on_reply("1");
>>
>>         # LB function returns negative if no suitable destination (for
>> requested resources) is found,
>>         # or if all destinations are full
>>         if ($retcode<0 ) {
>>                 sl_send_reply("500","Service full");
>>                 exit;
>>         }
>>
>>         # send it out
>>         if (!t_relay()) {
>>                 sl_reply_error();
>>         }
>>
>> onreply_route[1]
>> {
>>         xlog("L_INFO", "Reply - S=$rs D=$rr F=$fu T=$tu IP=$si
>> ID=$ci\n\n");
>>         exit;
>>
>> }
>>
>>
>>         exit;
>> }
>>
>>
>> Level 6 debug message 
>> May  7 19:59:19 [30633] DBG:load_balancer:do_load_balance: found
>> requested
>> (0) resource pstn
>> May  7 19:59:19 [30633] DBG:dialog:build_new_dlg: new dialog
>> 0x7f77ae5740a0
>> (c=2b56f9b707a0f7bb7585ab1655349fc2 at xxxxxxx,f=sip:xxx at xxxxxx,t=sip:xxxxxxxxx at xxxxxxx,ft=as4634cbd6)
>> on hash 2403
>> May  7 19:59:19 [30633] DBG:dialog:populate_leg_info: route_set , contact
>> sip:xxxx at xxxxx, cseq 102 and bind_addr udp:xxxxxxxxx:5060
>> May  7 19:59:19 [30633] DBG:dialog:dlg_set_leg_info: set leg 0 for
>> 0x7f77ae5740a0: tag=<as4634cbd6> rr=<> ct=<sip:xxxxx at xxxxxxx> cseq=<102>
>> May  7 19:59:19 [30633] DBG:load_balancer:do_load_balance: destination
>> <sip:xxxxxxxx> selected for LB set with free=1 (max=1)
>> xlog Selected destination is: $du = sip:xxxxxxxx AND retcode =1 
>> May  7 19:59:31 [30633] DBG:dialog:build_new_dlg: new dialog
>> 0x7f77ae578410
>> (c=291ea90b4956416b47e7932f067530e0 at xxxxxxx,f=sip:xxxx at xxxxx,t=sip:xxxxx at xxxxxx,ft=as718571da)
>> on hash 2865
>> May  7 19:59:31 [30633] DBG:core:parse_headers: flags=400
>> May  7 19:59:31 [30633] DBG:core:get_hdr_field: content_length=357
>> May  7 19:59:31 [30633] DBG:core:get_hdr_field: found end of header
>> May  7 19:59:31 [30633] DBG:dialog:populate_leg_info: route_set , contact
>> sip:xxxxx at xxxxxxx, cseq 102 and bind_addr udp:xxxxxxx:5060
>> May  7 19:59:31 [30633] DBG:dialog:dlg_set_leg_info: set leg 0 for
>> 0x7f77ae578410: tag=<as718571da> rr=<> ct=<sip:xxxx at xxxxxx> cseq=<102>
>> May  7 19:59:31 [30633] DBG:dialog:link_dlg: ref dlg 0x7f77ae578410 with
>> 3
>> -> 3
>> May  7 19:59:31 [30633] DBG:rr:add_rr_param: adding (;did=13b.f0a11e75)
>> 0x780150
>> May  7 19:59:31 [30633] DBG:load_balancer:
>> d_balance: destination <sip:xxxxxxxx> selected for LB set with free=0
>> (max=0)
>> May  7 19:59:31 [30633] DBG:load_balancer:do_load_balance: no destination
>> found
>> May  7 19:59:31 [30633] DBG:core:pv_get_dsturi: no destination URI
>> Selected destination is: $du = <null> AND retcode = 18446744073709551614 
>>   
> 
> 
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
> 
> 

-- 
View this message in context: http://n2.nabble.com/load_balancer-module-retcode-tp2838151p2846289.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.




More information about the Users mailing list