[SR-Users] redirect implementation with dispatcher
Daniel-Constantin Mierla
miconda at gmail.com
Thu May 19 09:49:48 CEST 2011
Hello,
On 5/18/11 9:50 AM, alex pappas wrote:
> Daniel hi,
>
> I noticed that I was not using the ds_next_domain(). I was looping
> inside a ds_select_domain("$avp(s:disp_dstgrp)", "4").
>
>
> I changed that to:
>
> For every gw_group:
>
> The first gw_group the $rd is getting fed from
> ds_select_domain("$avp(s:disp_dstgrp)", "4") and all the other times
> is getting fed from ds_next_domain(). In this way everything works as
> expected.
ok, thanks for reporting back what was the cause.
Cheers,
Daniel
>
> Thank you very match for your replay
>
> Regards
> Alex
>
>
> On Mon, May 16, 2011 at 10:38 AM, Daniel-Constantin Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
> Hello,
>
> can you put some xlog messages with the uri after
> ds_select_domain() execution? Do several tests to see what
> destination address is selected.
>
> Also, put here the content of the records for the dispatcher
> groups in use.
>
> Cheers,
> Daniel
>
>
> On 5/11/11 11:12 AM, alex pappas wrote:
>> Dear all,
>>
>> I'm trying to create a service which when a call reach Kamailio,
>> this call get's a number of gateways in round robin mode and from
>> them I create uri and append_branches.
>>
>> The all scenario works fine except that I don't get from
>> Dispatcher the round robin mode. Is is the way I ask Dispatcher
>> and i don't get the results I need.
>> In other scenarios Dispatcher works fine. The other thing is that
>> I tried the random alg of Dispatcher and that works.
>> I'm trying to understand what I'm doing wrong and why random alg
>> works but round robin not.
>>
>> I'm attaching my code if anyone has an idea of what I'm doing wrong.
>>
>> Thank you
>> Alex
>>
>> *Scenario description:*
>> *
>> Call enter
>> --> Dialplan (Here if has a match get the
>> attributes which is a list of dispatcher gw group in the form of
>> 100.101.#)
>>
>> --> Dispatcher (For every
>> dispatcher gw group appnd the branch)
>>
>> --> Redirect the call*
>>
>>
>> route[TEST]
>> {
>>
>> if(dp_translate("$avp(s:lcr_id)", "$rU/$rU"))
>> {
>> $var(i) = 0;
>> while($(var(dpattrs){s.select,$var(i),.})!="#")
>> *#attr example is gw group of disptcher in order 100.101.# or in
>> my scenario is 200.# which in Dispatcher is 2 gw* *10.0.0.2 and
>> 10.0.0.3*
>> {
>> $avp(s:disp_dstgrp) =
>> $(var(dpattrs){s.select,$var(i),.}{s.int <http://s.int>});
>> if(ds_select_domain("$avp(s:disp_dstgrp)", "4"))
>> {
>>
>> append_branch();
>> revert_uri();
>> $avp(s:disp_dstgrp) = "null";
>> }
>> $var(i) = $var(i) + 1; # for the while loop
>> }
>> ####################### REDIRECTION
>> #####################
>> sl_send_reply("300", "Multiple Choice");
>>
>> #########################################################
>> exit;
>> } else {
>> xlog(" ----- No routing found for this call -----");
>> }
>> }
>
--
Daniel-Constantin Mierla
http://www.asipto.com
http://linkedin.com/in/miconda
http://twitter.com/miconda
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20110519/d7787dc4/attachment.htm>
More information about the sr-users
mailing list