[OpenSIPS-Users] load_balancer module retcode
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Fri May 8 09:21:33 CEST 2009
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
>
More information about the Users
mailing list