Kamailio $ru vs $du

本人就是这么理解的:

$ru - requst url,sip请求的第一行里面的地址

$du - destination url,一般用来ip寻址

$ru可读可写,可读就没什么好讨论的,如果修改了$ru会发生什么

下面举例说明:

request_route {
	if (is_method("INVITE") && !has_totag()) {
		$ru = "sip:abc.com";
		$du = "sip:192.168.1.100:5080";
		t_relay();
		exit;
	}
}

上面的路由很简单,INVITE请求会relay到192.168.1.100:5080,但是request的第一行可能变成这样了:

INVITE sip:[email protected]

是否真的有abc.com这样域名,其实不重要了

换句话说,如果同时设置$ru和$du,$ru负责修改sip包,$du等于是设置outbound proxy

当然还有其它的变化,比如路由脚本只修改$ru,不设置$du,或者只修改$du,等等,大家可以去试试。试试就试试,反正又不花钱

有的模块函数只修改$ru,而有的模块函数可能同时修改$ru和$du

比如lookup就可能同时修改$du和$ru(路由脚本处理sip ua注册时检查到了nat)

你可能感兴趣的:(Kamailio,ru,vs,du)