[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