[SR-Users] best practice to dynamic route block based on $rd - Domain in R-URI

Karsten Horsmann khorsmann at gmail.com
Thu Nov 16 17:44:57 CET 2017


Hello List,


i solved this with an "simple" if statement.
For me surprising i tried this without success:

#!define NEWDOMAIN "some.domain.example"
$avp(newdomain) = NEWDOMAIN;

if ($avp(newdomain) == $rd) ...

and this dont match. Also i tried "" around all vars.
And copied into $avp and {s.tolower} all of them.
Nothing works.
avp_print() shows both avps as the same.

Anyway ---

My now working example is that one with avp_check.
Was hard to find the meaning of g/G and i/I in the module.
In the wiki i found an example description of tha avp_check flags.

if (allow_source_address(FLT_IVR)) {
        # OLD vs NEW - domain routing...
        $avp(newdomain) = NEWDOMAIN;
        $avp(pathinfo) = "outbound";
        # avp_check flags / avpops
        # g/G - use all values of the checked AVP (first parameter)
        # i/I - if strings are checked, do it case insensitive
        if ( avp_check("$rd", "eq/$avp(newdomain)/gi") ) {
            xlog("L_INFO", "go to new-gw\n");
            $avp(routing_target) = FLT_FSNODE;
        }
        else {
            xlog("L_INFO", "go to old-gw\n");
            $avp(routing_target) = FLT_OLDSBC;
        }
        xlog("L_INFO", "[$avp(pathinfo)] comes from IVR <$si> to <$ruri>
\n");
        route(DISPATCH);
        exit;
  }


Kind Regards
...



2017-11-08 13:28 GMT+01:00 Karsten Horsmann <khorsmann at gmail.com>:

> Hello List,
>
>
> i use kamailio-5.0.4 and i am now at the point that one kamailio is not
> enough :).
>
> So i decide to set another kamailio internal as sip-router based on
> drouting.
> My config is straight forward the example config with additional drouting
> stuff.
>
> Whats the best practice to route based on $rd with kamailio?
>
> I dont want to end with an bunch of if then else. Should be come from
> database.
>
> Pseudo Code:
>
> if ($rd == old.sbc.domain) {
>    route[oldstuff];
> }
> else {
>    route[newstuff];
> }
>
> Is there an module that i can use?
>
>
> --
> Kind Regards
> *Karsten Horsmann*
>



-- 
Mit freundlichen Grüßen
*Karsten Horsmann*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20171116/9f115319/attachment.html>


More information about the sr-users mailing list