Hello,
On 4/11/11 5:49 PM, Alejandro Rios P. wrote:
you should do that from the first
place, so we do not lose time for
nothing, checking source code which is not even used. For this
combination you are on your own, it is supposed you know what you do and
have the knowledge to troubleshoot -- the relaying itself is in the tm
module, uac module just fills some structure and calls tm function.
Cheers,
Daniel
I'm actually using kamailio's 1.5 UAC module
on an Opensips 1.6.2
:$ so I don't know if the problem could be related to that. Anyway,
here is the bad register message when using only
$uac_req(ruri)="sip:8.14.80.37:5061 <http://8.14.80.37:5061>". Note
that the SIP part itself its correct, but the UDP destination port is
wrong:
Internet Protocol, Src: 8.14.80.16 (8.14.80.16), Dst: 8.14.80.37
(8.14.80.37)
User Datagram Protocol, Src Port: sip-tls (5061), Dst Port: sip (5060)
C%E@@PP%
REGISTER sip:8.14.80.37:5061 <http://8.14.80.37:5061> SIP/2.0
Via: SIP/2.0/UDP 8.14.80.16:5061;branch=z9hG4bK9b35.3e435b31.0
To: sip:LV-SKRUPPA@8.14.80.37 <mailto:sip%3ALV-SKRUPPA@8.14.80.37>
From: <sip:LV-SKRUPPA@8.14.80.37
<mailto:sip%3ALV-SKRUPPA@8.14.80.37>>;tag=a649c0188a5a7b7f4a4dfeaea88004c3-b5bd
CSeq: 10 REGISTER
Call-ID: 52d42e13484b4229-29572(a)8.14.80.16
<mailto:52d42e13484b4229-29572@8.14.80.16>
Content-Length: 0
User-Agent: OpenSIPS (1.6.2-notls (x86_64/linux))
Contact: <sip:LV-SKRUPPA@8.14.80.16:5061
<http://sip:LV-SKRUPPA@8.14.80.16:5061>>
Expires: 60
I hope this can be of any help.
Kind regards,
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/11 Daniel-Constantin Mierla <miconda(a)gmail.com
<mailto:miconda@gmail.com>>
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 <miconda(a)gmail.com
<mailto:miconda@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(a)lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://www.asipto.com