No wonder I was getting confused. The key here for me was that I was calling my route before the do_routing(). Now my tests actually work and things are much simpler now that it's all contained within drouting :)
Thank you for pointing that out, much appreciated. Mark. PS. Sorry about the duplicate emails! On Tue, 5 Mar 2019 at 16:44, Bogdan-Andrei Iancu <bog...@opensips.org> wrote: > Mark, > > Drouting is pushing the the GW IP into the host/domain part of the RURI, > so you can "see" it via $rd (after do_routing()). Also your scripting seems > logic. > > Regards, > > Bogdan-Andrei Iancu > > OpenSIPS Founder and Developer > https://www.opensips-solutions.com > OpenSIPS Summit 2019 > https://www.opensips.org/events/Summit-2019Amsterdam/ > > On 03/05/2019 06:00 PM, Mark Farmer wrote: > > Thanks for the reply. > > This actually stems from an earlier post regarding rtpproxy. Within that > logic I am testing $si which is fine but I also need to test the > destination GW IP hence $dd but the variable is null at that point so I'm > thinking I need to grab the destination GW IP address beforehand and store > it for later use, not nessesarily $dd - just something I can test later. > > I've just changed my route logic, see below, does this make sense? > > -------- > route[RTPPROXY] { > > if (is_method("BYE|CANCEL")) { > rtpproxy_unforce(); > } > > if (is_method("INVITE")) { > xlog("Processing INVITE); > if (is_from_gw("1") && goes_to_gw("2")) { > xlog("Internal to External"); > setflag(INT_EXT); > } else if (is_from_gw("2") && goes_to_gw("3")) { > xlog("External to 3rd Party"); > setflag(EXT_PCI); > } else if (is_from_gw("3") && goes_to_gw("1")) { > xlog("3rd Party to Internal"); > setflag(PCI_INT); > } else { > xlog("External to Internal"); > setflag(EXT_INT); > } > } > > if (isflagset(INT_EXT)) { > rtpproxy_offer("corwfei"); > } else if (isflagset(EXT_PCI)) { > rtpproxy_offer("corwfie"); > } else if (isflagset(PCI_INT)) { > rtpproxy_offer("corwfii"); > } else if (isflagset(EXT_INT)) { > rtpproxy_offer("corwfie"); > } > } > ----- > > > On Tue, 5 Mar 2019 at 15:13, Bogdan-Andrei Iancu <bog...@opensips.org> > wrote: > >> Hi Mark, >> >> The Dynamic Routing module is doing routing based on prefix/number - >> that's what the engine knows. Of course you can combine with source IP by >> translating/mapping groups of src IPs into routing groups. >> >> Not sure what you are expect the module to do, if you want to route only >> based on SRC and DST IPs....In order to have drouting setting a destination >> GW, you need to do the actual routing (via do_routing()). >> >> Regards, >> >> Bogdan-Andrei Iancu >> >> OpenSIPS Founder and Developer >> https://www.opensips-solutions.com >> OpenSIPS Summit 2019 >> https://www.opensips.org/events/Summit-2019Amsterdam/ >> >> On 03/05/2019 04:01 PM, Mark Farmer wrote: >> >> Hi all >> >> I'm using drouting and I need to route calls to various Gateway types >> based on $si and destination IP but it seems that $dd is not known at this >> point. >> How can I get the IP address of the destination gateway from the drouting >> database and assign it to a usable variable? >> >> I'm thinking something like this: >> >> if ($si =~"^(10\.*)" && goes_to_gw("1")) { >> $dd = ??????? >> } >> >> >> Many thanks >> Mark. >> >> >> -- >> Mark Farmer >> farm...@gmail.com >> >> >> _______________________________________________ >> Users mailing >> listUsers@lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users >> >> >> > > -- > Mark Farmer > farm...@gmail.com > > > _______________________________________________ > Users mailing > listUsers@lists.opensips.orghttp://lists.opensips.org/cgi-bin/mailman/listinfo/users > > > -- Mark Farmer farm...@gmail.com
_______________________________________________ Users mailing list Users@lists.opensips.org http://lists.opensips.org/cgi-bin/mailman/listinfo/users