Hello,
On 4/8/11 6:14 PM, Alejandro Rios P. wrote:
Hello Daniel
Thanks for pointing out to the SIP traces. I found out that it if the
request is to be sent to a destination using a port other than 5060,
it is required to add the $uac_req(ouri) parameter too:
$uac_req(ouri)="sip:" + $var(asterisk_ip) + ":" + $var(asterisk_port);
....
$uac_req(ouri)="sip:" + $var(asterisk2_ip) + ":" + $var(asterisk2_port);
Interesting, it should work when changing the 'ruri' attribute as well.
Can you send a sip trace with changed r-uri for the two requests that go
to wrong destination?
Thanks,
Daniel
Thanks!
Alejandro Rios Peña
DISCLAIMER: The opinions expressed are my own, and not necessarily
those of my employer.
<http://www.avatar.com.co>
2011/4/8 Daniel-Constantin Mierla <mico...@gmail.com
<mailto:mico...@gmail.com>>
Hello,
On 4/8/11 12:28 AM, Alejandro Rios P. wrote:
Hi all,
I am testing the scenario described here:
http://kb.asipto.com/asterisk:realtime:kamailio-3.1.x-asterisk-1.6.2-astdb
It works great with one instance of Asterisk, but now that I'm
testing with two Asterisk instances to load balance, and I see
a problem regarding the registration forwarding to the second
Asterisk.
I tried adding a second "uac_req_send()" bellow the first one,
but Kamailio only sends the first request and the REGISTER
never gets to the second Asterisk:
# Forward REGISTER to Asterisk
route[REGFWD] {
if(!is_method("REGISTER"))
{
return;
}
$var(rip) = $sel(cfg_get.asterisk.bindip);
$uac_req(method)="REGISTER";
$uac_req(ruri)="sip:" + $var(rip) + ":" +
$sel(cfg_get.asterisk.bindport);
$uac_req(furi)="sip:" + $au+ "@" + $var(rip);
$uac_req(turi)="sip:" + $au+ "@" + $var(rip);
$uac_req(hdrs)="Contact:<sip:" + $au+ "@"
+ $sel(cfg_get.kamailio.bindip)
+ ":" +
$sel(cfg_get.kamailio.bindport) + ">\r\n";
if($sel(contact.expires) != $null)
$uac_req(hdrs)= $uac_req(hdrs) + "Expires:"
+ $sel(contact.expires) + "\r\n";
else
$uac_req(hdrs)= $uac_req(hdrs) + "Expires:"
+ $hdr(Expires) + "\r\n";
uac_req_send();
$uac_req(all) = null;
$var(rip2) = $sel(cfg_get.asterisk2.bindip);
$uac_req(method)="REGISTER";
$uac_req(ruri)="sip:" + $var(rip2) + ":" +
$sel(cfg_get.asterisk2.bindport);
$uac_req(furi)="sip:" + $au+ "@" + $var(rip2);
$uac_req(turi)="sip:" + $au+ "@" + $var(rip2);
$uac_req(hdrs)="Contact:<sip:" + $au+ "@"
+ $sel(cfg_get.kamailio.bindip)
+ ":" +
$sel(cfg_get.kamailio.bindport) + ">\r\n";
if($sel(contact.expires) != $null)
$uac_req(hdrs)= $uac_req(hdrs) + "Expires:"
+ $sel(contact.expires) + "\r\n";
else
$uac_req(hdrs)= $uac_req(hdrs) + "Expires:"
+ $hdr(Expires) + "\r\n";
uac_req_send();
}
I also tried appending another branch and sending the second
uac_req_send() from there, but it is not being sent.
How can I use uac_req_send() several times for the same
request or in parallel?
it should work one after the other. append_branch() does not
affect uac_req_send() at all, this is a separate request built
from scratch.
Do you get any error message in the syslog? Can you watch the
traffic on all interfaces 'ngrep -d any -qt -W byline port 5060' ?
I see you assign '$uac_req(all) = null;', it should be
'$uac_req(all) = $null;' - but I guess it was a copy&paste thing.
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://www.asipto.com
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://www.asipto.com
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users