That won't work 'cause you are limiting on the general TESTGW for realm and resource.  You need to find out which resource distributor gave you and then use limit_execute and the actual resource name (GW_001 or GW_002).

As you can see, without changing how distributor works this will be full of race conditions.

ie: you can get the resource by expanding ${distributor(aa_rr)} and then using that in limit_execute, but since distributor has no knowledge of limits it may continue serving up a resource that has reached it's limit.  And even if distributor knew about limits it would have to reserve the resource and then *use* the resource right then not pass it back as a string.  That changes how you use distributor.

Kind of a pain.

A bit more heavy weight, but maybe look at using mod_lcr with limit support?

On Tue, Oct 5, 2010 at 9:26 AM, Frank Ochere <ochere@gmail.com> wrote:
Hello,

I have the following in distributor.conf.xml

   <list name="aa_rr" total-weight="2">
     <node name="GW_001" weight="1"/>
     <node name="GW_002" weight="1"/>
   </list>



in dialplan

    <extension name="TESTGW">
      <condition field="destination_number" expression="^7777(\d+)$">
        <action application="limit_execute" data="hash TESTGW TESTGW 1
bridge sofia/gateway/${distributor(aa_rr)}/$1"/>
      </condition>
    </extension>

my question is, is it possible to use limit_execute and distributor
concurrently as in TESTGW above? ie limit calls to 1 per gateway but
being alternated as specified in list aa_rr


sofia debug below

Dialplan: sofia/external/00000000@1.1.1.1:5060 Action limit_execute(hash
TESTGW TESTGW 1 bridge
sofia/gateway/${distributor(sat_rr)}/00777717171)
2010-10-05 17:13:15.616463 [DEBUG] switch_core_state_machine.c:119
(sofia/external/00000000@1.1.1.1:5060) State Change CS_ROUTING ->
CS_EXECUTE
2010-10-05 17:13:15.616463 [DEBUG] switch_core_session.c:1047 Send
signal sofia/external/00000000@1.1.1.1:5060 [BREAK]
2010-10-05 17:13:15.616463 [DEBUG] switch_core_state_machine.c:341
(sofia/external/00000000@1.1.1.1:5060) State ROUTING going to sleep
2010-10-05 17:13:15.616463 [DEBUG] switch_core_state_machine.c:314
(sofia/external/00000000@1.1.1.1:5060) Running State Change CS_EXECUTE
2010-10-05 17:13:15.616463 [DEBUG] switch_core_state_machine.c:348
(sofia/external/00000000@1.1.1.1:5060) State EXECUTE
2010-10-05 17:13:15.616463 [DEBUG] mod_sofia.c:239
sofia/external/00000000@1.1.1.1:5060 SOFIA EXECUTE
2010-10-05 17:13:15.616463 [DEBUG] switch_core_state_machine.c:157
sofia/external/00000000@1.1.1.1:5060 Standard EXECUTE
EXECUTE sofia/external/00000000@1.1.1.1:5060 limit_execute(hash TESTGW
TESTGW 1 bridge sofia/gateway/-err/00777717171)
2010-10-05 17:13:15.616463 [INFO] switch_limit.c:126 incr called:
TESTGW_TESTGW max:1, interval:0
2010-10-05 17:13:15.616463 [INFO] mod_hash.c:202 Usage for TESTGW_TESTGW
is now 1/1
EXECUTE sofia/external/00000000@1.1.1.1:5060
bridge(sofia/gateway/-err/00777717171)
2010-10-05 17:13:15.616463 [ERR] mod_sofia.c:3725 Invalid Gateway
2010-10-05 17:13:15.616463 [NOTICE] mod_sofia.c:4047 Close Channel N/A
[CS_NEW]
2010-10-05 17:13:15.616463 [DEBUG] switch_core_state_machine.c:430 ()
Running State Change CS_DESTROY
2010-10-05 17:13:15.616463 [DEBUG] switch_core_state_machine.c:440 (N/A)
State DESTROY
2010-10-05 17:13:15.616463 [DEBUG] mod_sofia.c:362 N/A SOFIA DESTROY
2010-10-05 17:13:15.616463 [DEBUG] switch_core_state_machine.c:440 (N/A)
State DESTROY going to sleep
2010-10-05 17:13:15.616463 [ERR] switch_ivr_originate.c:2648 Cannot
create outgoing channel of type [sofia] cause: [INVALID_NUMBER_FORMAT]
2010-10-05 17:13:15.616463 [DEBUG] switch_ivr_originate.c:3456 Originate
Resulted in Error Cause: 28 [INVALID_NUMBER_FORMAT]
2010-10-05 17:13:15.616463 [INFO] mod_dptools.c:2411 Originate Failed.
Cause: INVALID_NUMBER_FORMAT
2010-10-05 17:13:15.616463 [DEBUG] switch_channel.c:2359
(sofia/external/00000000@1.1.1.1:5060) Callstate Change RINGING ->
HANGUP
2010-10-05 17:13:15.616463 [NOTICE] mod_dptools.c:2474 Hangup
sofia/external/00000000@1.1.1.1:5060 [CS_EXECUTE]
[INVALID_NUMBER_FORMAT]
2010-10-05 17:13:15.616463 [DEBUG] switch_channel.c:2375 Send signal
sofia/external/00000000@1.1.1.1:5060 [KILL]
2010-10-05 17:13:15.616463 [INFO] mod_hash.c:300 Usage for TESTGW_TESTGW
is now 0


_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org



--
-Rupa