Hi Sebastian,

The problem is that the dialplan returns the 200 ID as string value,the 
"200" string, while the drouting module does expect an integer value.

So use a transformation to convert from string to integer :
     do_routing("$(avp(dr_id){s.int})")

See: http://www.opensips.org/Resources/DocsCoreTran15#toc2

Regards,
Bogdan

Sebastian Sastre wrote:
> Hello
>
> As per bogdan's recommendation I used the dialplan module to convert the
> soruce ip to a group number, but drouting is not able to get it.
> dp_translates the given ip to the correct group number, but when passing it
> to drouting, it can't find it. 
>
> Any ideas?
>
> route[2]{
>         xlog("-> Route(2) - Enter\n");
>         dp_translate("1", "$fd/$avp(dr_id)");
>         xlog("-> HOST $fd got group $avp(dr_id) \n");
>         if (!do_routing("$avp(dr_id)")){
>                 xlog("-> Route(2) - No routes found \n");
>                 sl_send_reply("503", "No available gateways route");
>                 exit;
>         }
>         xlog("-> Route(2) - Found Routes for request, routing... \n");
> }
>
>
> This is the log 
>
> /usr/sbin/opensips[8188]: -> Route(2) - Enter
> /usr/sbin/opensips[8188]: DBG:dialplan:dp_get_ivalue: integer value
> /usr/sbin/opensips[8188]: DBG:dialplan:dp_translate_f: dpid is 1
> /usr/sbin/opensips[8188]: DBG:dialplan:dp_get_svalue: searching 20
> /usr/sbin/opensips[8188]: DBG:dialplan:dp_translate_f: input is 192.168.0.10
> /usr/sbin/opensips[8188]: DBG:dialplan:translate: regex operator testing
> /usr/sbin/opensips[8188]: DBG:dialplan:test_match: test string 192.168.0.10
> against a pattern 192.168.0.10
>
> /usr/sbin/opensips[8188]: DBG:dialplan:test_match: test_match:[0]
> 192.168.0.10
>
> /usr/sbin/opensips[8188]: DBG:dialplan:translate: found a matching rule
> 0x7fa7fe6898d0: pr 0, match_exp 192.168.0.10
>
> /usr/sbin/opensips[8188]: DBG:dialplan:rule_translate: simply replace the
> string, subst_comp (nil), n_escapes 0
>
> /usr/sbin/opensips[8188]: DBG:dialplan:dp_translate_f: input 192.168.0.10
> with dpid 1 => output 100
>
> /usr/sbin/opensips[8188]: -> HOST 192.168.0.10 got group 100
> /usr/sbin/opensips[8188]: ERROR:drouting:do_routing: failed to get group id
> /usr/sbin/opensips[8188]: -> Route(2) - No routes found
>
>
>
> Thanks again, 
>
>
> Sebastian Sastre
>
>  
>
>
>
>
>
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>   


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to