Hello,
I'm trying to implement RLS with integrated XCAP server. I have successfully run the Kamailio instance with the following snippet.
Since I had no RLS clients available, I have tried to test this with SIPp. The attached pcap trace is the result.
Test:
1. Send an XCAP signal over http to Kamailio.
2. Register and subscribe Kamailio.
The test does store the xml received over http in the xcap table in the database. But rls module does not store the data neither in rls_presentity or rls_watcher.
When I sent the Subscribe with sipp, the server throws error that subscription was not found in the database.
I would like to know if I'm doing something wrong to implement this service. Is there any brief tutorial on how to implement this?
Kamailio.cfg snippet:
##Presence
modparam("presence", "server_address", PRESENCE_IP)
modparam("presence", "clean_period", 65)
modparam("presence", "db_update_period", 60)
modparam("presence", "max_expires", 75)
modparam("presence", "fallback2db", 1)
modparam("presence_xml", "db_url", DBURL)
modparam("presence_xml", "force_active", 0)
modparam("presence_xml", "integrated_xcap_server", 1)
##rls modparams
modparam("rls", "db_url", DBURL)
modparam("rls", "waitn_time", 10)
modparam("rls", "integrated_xcap_server", 1)
modparam("rls", "max_notify_body_length", 32000)
modparam("rls", "to_presence_code", 10)
modparam("rls", "server_address", RLS_URI)
modparam("rls", "outbound_proxy", PUA_OUTBOUND_PROXY)
modparam("rls", "xcap_root", XCAP_ROOT)
##XCAP modparams
modparam("xcap_server", "db_url", DBURL)
modparam("xcap_client", "db_url", DBURL)
modparam("xcap_client", "query_period", 50)
route[PRESENCE]
{
if(!is_method("PUBLISH|SUBSCRIBE"))
return;
#!ifdef WITH_PRESENCE
if (!t_newtran())
{
sl_reply_error();
exit;
};
if(is_method("PUBLISH"))
{
handle_publish();
t_release();
}
else
if( is_method("SUBSCRIBE"))
{
$var(ret_code)= rls_handle_subscribe();
xlog("Subscribe: $var(ret_code)");
if($var(ret_code)== 10)
handle_subscribe();
t_release();
}
exit;
#!endif
# if presence enabled, this part will not be executed
if (is_method("PUBLISH") || $rU==$null)
{
sl_send_reply("404", "Not here");
exit;
}
return;
}
In the [xhttp:request]:
switch($rm) {
case "PUT":
xcaps_put("$var(uri)", "$hu", "$rb");
if($xcapuri(u=>auid)=~"pres-rules")
{
xlog("===== xhttp put: refreshing watchers for $var(uri)\n");
pres_update_watchers("$var(uri)", "presence");
pres_refresh_watchers("$var(uri)", "presence", 1);
}
else if ($xcapuri(u=>auid)=~"resource-lists"
|| $xcapuri(u=>auid)=~"rls-services")
{
xlog("==== xhttp put: refreshing rls watchers $var(uri)\n");
rls_update_subs("$var(uri)", "presence");
}
exit;
break;
Gnaneshwar Gatla | InTouch Health | Software Developer
6330 Hollister Ave. Goleta CA, 93117 | P: 805.562.8686 ext: 199
Hello,
Kamailio SIP Server v3.2.3 stable release is out.
This is a maintenance release of the latest stable branch, 3.2, that
includes fixes since release of v3.2.2. There is no change to database
schema or configuration language structure that you have to do on
installations of v3.2.0, v3.2.1 or v3.2.2. Deployments running previous
v3.2.x versions are strongly recommended to be upgraded to v3.2.3.
For more details about version 3.2.3 (including links and hints to
download the tarball or from GIT repository), visit:
* http://www.kamailio.org/w/2012/04/kamailio-v3-2-3-released/
RPMs and Debian/Ubuntu packages will be available soon.
Cheers,
Daniel
--
Daniel-Constantin Mierla
Kamailio Advanced Training, April 23-26, 2012, Berlin, Germany
http://www.asipto.com/index.php/kamailio-advanced-training/
Hello everybody
I have a question about clustering kamailio, i want to register
subscribers to two diferent kamailios, and the subscribers from one
kamailio should be able to communicate with the subscribers registered
in the other kamailio
How can i do it? Is there something like DUNDI in the Asterisk world?
Thank you in advance.
Hello List,
i am nearly finishing my multihomed config (public ip/internal ip)
with kamailio.
For incoming calls i want to use the uac module too.
Then i want to locate an permanet entry and dispatch it to ivr system
behind kamailio.
i tried something like this:
if (lookup("location") && (dst_ip==222.222.222.222)) {
if(ds_select_domain("1", "4")) {
Okay for registerd UAC this works perfect - but if made an call to the
uac registerd
number i got as $Ri the 172.20.100.74 - and thats is the private ip address.
Why that???
Any hints to check "if its internal or external" call???
--
Mit freundlichen Grüßen
*Karsten Horsmann*
Hello,
last patch release (v3.2.2) was done quite some time ago, therefore I am
thinking of releasing v3.2.3 sometime next week, maybe Wednesday or
Thursday. If there are patches in master branch to be backported to 3.2,
please start doing them. Also, if anyone is aware of issues in 3.2
branch not reported to the tracker, announce them asap.
Thanks,
Daniel
--
Daniel-Constantin Mierla
Kamailio Advanced Training, April 23-26, 2012, Berlin, Germany
http://www.asipto.com/index.php/kamailio-advanced-training/
Hello and thanks for your helping,excuse me I'm newbie in mailing list.
I have a question about implementing Kamailio with FreeSwitch.
Our plan is a configuration like this at the follow:
1.Kamailio as registering and LoadBalancer ,response to chat and
call(voice/video) in p2p
2.we have 2 FreeSwitch media engine just for Conference case(Voice/Video) .
How we can implementing above kamailio as loadBalancer for 2 FreeSwitchs in
conference case ,
And at the same time,It answer as voip/chat server for p2p case ?
we have success by implementing Kamailio with one FreeSwitch,
(FreeSwitch as media Engine just for conference and Kamailio for p2p call)
But if we have 2 FreeSwitch with same activity,How we can implementing...
And So I had Efforts with dispatcher module,
but it was good only for route/Loadbalancer not for answering p2p call.
Thanks a lot
Mehdi Badiezadegan
Hello all,
I have a script working with openser1.2.1 and I try to move them to kamailio
3.2.1
I have actually an issue with the loose_route() function at least for ACK
message.
When I get the ACK the loose_route function is changing the URI with the
value of the route header of the ACK message .
The problem is that this value is the local proxy himself so the t_relay()
function send the ACK on the loopback interface.
Any Idea ?
Regards
Laurent
Apr 16 18:48:08 proxy kamailio[28033]: INFO: <script>: START REQ:[ACK]
Tran:[7070] URI:[sip:peoplefone@95.128.80.93:7070]
from:[sip:41763770377@sip.call.lt;user=phone]
to:[sip:37052077800@81.16.238.195;user=phone]
CallID:[25694-UI-05aa645a-7000c6ef6@sip.call.lt]
Apr 16 18:48:08 proxy kamailio[28033]: INFO: <script>: SANITY OK, REQ:[ACK]
Tran:[7070] URI:[sip:peoplefone@95.128.80.93:7070]
from:[sip:41763770377@sip.call.lt;user=phone]
to:[sip:37052077800@81.16.238.195;user=phone]
CallID:[25694-UI-05aa645a-7000c6ef6@sip.call.lt]
Apr 16 18:48:08 proxy kamailio[28033]: INFO: <script>: DIALOG1 REQ:[ACK]
Tran:[7070] URI:[sip:peoplefone@95.128.80.93:7070]
from:[sip:41763770377@sip.call.lt;user=phone]
to:[sip:37052077800@81.16.238.195;user=phone]
CallID:[25694-UI-05aa645a-7000c6ef6@sip.call.lt]
If (loose_route()) is called
Apr 16 18:48:08 proxy kamailio[28033]: INFO: <script>: DIALOG1ACK REQ:[ACK]
Tran:[5060] URI:[sip:81.16.238.195;lr;ftag=25694-BR-05aa645b-0f448aeb2]
from:[sip:41763770377@sip.call.lt;user=phone]
to:[sip:37052077800@81.16.238.195;user=phone]
CallID:[25694-UI-05aa645a-7000c6ef6@sip.call.lt]
Apr 16 18:48:08 proxy kamailio[28033]: INFO: <script>: NATMANAGE REQ:[ACK]
Tran:[5060] URI:[sip:81.16.238.195;lr;ftag=25694-BR-05aa645b-0f448aeb2]
from:[sip:41763770377@sip.call.lt;user=phone]
to:[sip:37052077800@81.16.238.195;user=phone]
CallID:[25694-UI-05aa645a-7000c6ef6@sip.call.lt]
Apr 16 18:48:08 proxy kamailio[28033]: INFO: <script>: DIAL_RELAY1 REQ:[ACK]
Tran:[5060] URI:[sip:81.16.238.195;lr;ftag=25694-BR-05aa645b-0f448aeb2]
from:[sip:41763770377@sip.call.lt;user=phone]
to:[sip:37052077800@81.16.238.195;user=phone]
CallID:[25694-UI-05aa645a-7000c6ef6@sip.call.lt]
Apr 16 18:48:08 proxy kamailio[28033]: INFO: <script>: T_RELAY REQ:[ACK]
Tran:[5060] URI:[sip:81.16.238.195;lr;ftag=25694-BR-05aa645b-0f448aeb2]
from:[sip:41763770377@sip.call.lt;user=phone]
to:[sip:37052077800@81.16.238.195;user=phone]
CallID:[25694-UI-05aa645a-7000c6ef6@sip.call.lt]
U 81.16.238.195:5060 -> 87.110.233.1:5060
SIP/2.0 200 OK.
To: <sip:37052077800@81.16.238.195;user=phone>;tag=e868748c.
Via: SIP/2.0/UDP 87.110.233.1:5060;rport=5060;branch=z9hG4bK-26E6-2AB3E9F.
Record-Route: <sip:81.16.238.195;lr;ftag=25694-BR-05aa645b-0f448aeb2>.
CSeq: 79950814 INVITE.
Call-ID: 25694-UI-05aa645a-7000c6ef6(a)sip.call.lt.
From:
<sip:41763770377@sip.call.lt;user=phone>;tag=25694-BR-05aa645b-0f448aeb2.
Content-Type: application/sdp.
Contact: <sip:peoplefone@95.128.80.93:7070>.
Content-Length: 205.
.
v=0.
o=90706832381 5012 11 IN IP4 81.16.238.195.
s=Mapping.
c=IN IP4 81.16.238.195.
t=0 0.
m=audio 8170 RTP/AVP 8 101.
a=rtpmap:8 PCMA/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-16.
a=sendrecv.
U 87.110.233.1:5060 -> 81.16.238.195:5060
ACK sip:peoplefone@95.128.80.93:7070 SIP/2.0.
Call-ID: 25694-UI-05aa645a-7000c6ef6(a)sip.call.lt.
Contact: <sip:87.110.233.1:5060>.
CSeq: 79950814 ACK.
From:
<sip:41763770377@sip.call.lt;user=phone>;tag=25694-BR-05aa645b-0f448aeb2.
Max-Forwards: 30.
Route: <sip:81.16.238.195;lr;ftag=25694-BR-05aa645b-0f448aeb2>.
To: <sip:37052077800@81.16.238.195;user=phone>;tag=e868748c.
User-Agent: Cirpack/v4.42o (gw_sip).
Via: SIP/2.0/UDP 87.110.233.1:5060;branch=z9hG4bK-388F-2AB3F03.
Content-Length: 0.
.
Greetings list,
I am experiencing a strange behavior with openser 1.3.2 running on ubuntu
10. I have a basic configuration (see bellow) and i am using Linphone for
iPad as my client. I have 2 users registered and I am able to place calls
no problem. The problem is that the calls (audio or A/V) drop after 38
seconds exactly, this behavior is pretty consistent, 38 seconds is all I
can get. There is no firewall in front of the clients.
Here is my configuration, ip addresses changed to protect the innocent:
http://pastie.org/private/x1ck8rxjcxv6hl44hrmqg
You can see the logs of the call here (the majority):
http://pastie.org/private/4fj5efpbsrxan8plzqvfza
Am I missing something or is there anything that needs to be changed in the
routing/configuration to achieve basic functionality?
Thank you in advance!