[SR-Users] Calling t_relay([host, port]) with variables

Alex Balashov abalashov at evaristesys.com
Wed Jan 5 10:36:56 CET 2022

Hi Nick,

I think it might be worthwhile to ask why you want to provide these arguments to t_relay(), even though it can take them.

There is a common and understandable misconception among new users that specifying these arguments is the way to tell Kamailio the destination to which a message should be relayed. In fact, it’s not the canonical way it is done. 

t_relay() consumes the domain part of the request URI ($ru):

   $ru = “sip:" + $rU + "@”;
   # or
   $rd = “”;

If the domain in the RURI is different than the desired network destination, the “destination URI” can be used to override this:


   $du = “sip:”;

These values can of course be constructed from variables as well.

So, it is likely the case that you don’t need to call t_relay() with arguments at all. :-)

— Alex

> On Jan 5, 2022, at 3:21 AM, Nick J <nick at nickvsnetworking.com> wrote:
> Hi all,
> I've been banging my head on the table with this one and hoping someone has some insight here.
> I'm trying to use a variable as the host & port input in t_relay() - t_relay(host, port)
> This works fine if statically set:
> t_relay("", "5060");
> But if I change the host or the port to a variable like this:
> $avp(destip) = "";
> $avp(dstport) = "5060";
> t_relay($avp(destip), $avp(dstport));
> Then Kamailio fails to start, calling out the t_relay line:
> kamailio: CRITICAL: <core> [core/cfg.y:3686]: yyerror_at(): parse error in config file /etc/kamailio/kamailio-routelogic.cfg, line 62, column 35: bad command
> I get the same behavior with pseudovariables and vars as well:
> $var(destip) = "";
> $var(dstport) = "5060";
> t_relay($var(destip), $var(dstport))
> Any tips or pointers would be much appreciated.
> Thanks!
> Nick
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions
>  * sr-users at lists.kamailio.org
> Important: keep the mailing list in the recipients, do not reply only to the sender!
> Edit mailing list options or unsubscribe:
>  * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/

More information about the sr-users mailing list