Hello,
Can anybody give me a hint how to start with a very simple cluster setup?
I just want to route SIP to 2 different asterisk server. There is no
need to care about NAT or call routing. I was wondering if its enough to
use the dispatch module.
Is it possible with the dispatch module to achieve that the system will
reuse the information where a user is registered to route the calls to
the same system?
BR
kiste
--
kiste lat: 54.322684, lon: 10.13586
tm readme on t_relay flag "0x02" says:
0x02 - do not internally send a negative reply in case of forward
failure (due internal error, bad RURI, bad message, etc). When a forward
failure occurs, no SIP request is relayed and therefore no negative
reply or timeout will show up on the failure_route (if one is set). It
applies only when the transaction is created. By default one negative
reply is sent. Useful if you want to implement a serial forking in case
of failure.
i don't quite understand the statement:
It applies only when the transaction is created.
what does "It" refer to?
i did some experiments with new lcr implementation and if, for example,
tcp connection to a gw cannot be established, then t_relay without
"0x02" flag generates 477 reply to caller and, indeed, failure route is
not executed.
so i need test if t_relay("0x02") failed due to "send failed" and handle
selection of next gw in the same route block where t_relay("0x02") was
called. this is inconvenient, because there already exists a failure
route block that does all that and now its code needs to be at least
partially duplicated.
or am i missing something and it is somehow possible to get a failure
route block executed also on this kind of internally generated negative
reply?
-- juha
i have
if (t_check_status("403")) {
xlog("L_INFO", "DBG: status is 403\n, rr is <$rr> and rs is <$rs>\n");
};
and i get to syslog:
Oct 18 19:51:37 localhost /usr/sbin/kamailio[18580]: DBG: status is 403 , rr is <<null>> and rs is <<null>>
is this expected behavior?
-- juha
waleed hassn wrote:
> On Mon, Oct 20, 2008 at 5:41 AM, Alex Balashov
> <abalashov(a)evaristesys.com> wrote:
>> waleed hassn wrote:
>>> On Mon, Oct 20, 2008 at 4:25 AM, Alex Balashov
>>> <abalashov(a)evaristesys.com> wrote:
>>>> waleed hassn wrote:
>>>>> hi all
>>>>> i am new in opensips , how can i set database and add users
>>>> Which database, and what users?
>>>>
>>>>
>>>> --
>>>> Alex Balashov
>>>> Evariste Systems
>>>> Web : http://www.evaristesys.com/
>>>> Tel : (+1) (678) 954-0670
>>>> Direct : (+1) (678) 954-0671
>>>> Mobile : (+1) (706) 338-8599
>>>>
>>> sip users and mysql database
>>> an error occur when i execute opensipsdb command
>> 1) Learn to set up and administer MySQL.
>>
>> 2) What error?
>>
>> 3) It might be beneficial to post to the OpenSIPS-Users list.
>>
>> --
>> Alex Balashov
>> Evariste Systems
>> Web : http://www.evaristesys.com/
>> Tel : (+1) (678) 954-0670
>> Direct : (+1) (678) 954-0671
>> Mobile : (+1) (706) 338-8599
>>
> thanks , can you get me some useful links to begin
First result on Google for "mysql tutorial":
http://dev.mysql.com/doc/refman/5.0/en/tutorial.html
--
Alex Balashov
Evariste Systems
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (706) 338-8599
waleed hassn wrote:
> On Mon, Oct 20, 2008 at 4:25 AM, Alex Balashov
> <abalashov(a)evaristesys.com> wrote:
>> waleed hassn wrote:
>>> hi all
>>> i am new in opensips , how can i set database and add users
>> Which database, and what users?
>>
>>
>> --
>> Alex Balashov
>> Evariste Systems
>> Web : http://www.evaristesys.com/
>> Tel : (+1) (678) 954-0670
>> Direct : (+1) (678) 954-0671
>> Mobile : (+1) (706) 338-8599
>>
>
> sip users and mysql database
> an error occur when i execute opensipsdb command
1) Learn to set up and administer MySQL.
2) What error?
3) It might be beneficial to post to the OpenSIPS-Users list.
--
Alex Balashov
Evariste Systems
Web : http://www.evaristesys.com/
Tel : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (706) 338-8599
Hello,
I am able to see RLS properly working when RLS and presence functionality is in the same server.
after that, I tried to integrate RLS as a separate application server.
To forward the message from RLS to presence server, I made below changes in the config file:
route[2]
{
if (!t_newtran())
{
sl_reply_error();
exit;
};
if(is_method("NOTIFY"))
{
rls_handle_notify();
t_release();
}
if(is_method("SUBSCRIBE"))
{
$var(ret_code)= rls_handle_subscribe();
if($var(ret_code)== 10)
#to forward to presence server
t_relay("udp:<ip>:5070");
}
if(is_method("PUBLISH"))
{
#to forward to presence server.
t_relay("udp:<ip>:5070");
t_release();
}
exit;
}
because of this configuration, i found two problems:
1. when i am forwarding subscribe message (from RLS to presence server), its not sending the subscribe for all the contacts. Here, i am expecting (sort of) output of rls_handle_subscribe() to be sent to the presence server. Which is not happening.
2. When presence server is sending notify message, it is sending directly to scscf..instead of rls..
Can anybody let me know, how can I get the desired functionality of:
1. UE --> RLS --> presence server (subscribe)
2. Presence server --> RLS --> UE (for notify).
If there is any other way to forward message from RLS to presence, please let me know
Regards,
Mahesh Peddi
Hello,
On 10/19/08 14:32, Arif-Uz-Zaman wrote:
> Hi,
>
> Here is a tricky sample config to check if a user is calling from a
> registered device and if not, deny the call:
>
> $var(temp) = $ruri;
> $ruri = $fu;
> if(!registered("location")) {
> sl_send_reply("403","Forbidden auth ID");
> xlog("<ARIF> Not Found\n");
> exit;
> }
> $ruri = $var(temp);
>
in the trunk (so available with upcoming 1.5.0) you can do more strict
checks. While you are sure an user is registered, you cannot detect if
he is calling from registered device or a different one. You just know
it has a valid contact in location database.
Here is an example to check Contact address in INVITE is same as one in
location table:
http://openser.blogspot.com/2008/10/registrar-enhancements.html
As you get access to all attributes stored for a location record, you
can do many other tests, like source IP and port, etc.
Cheers,
Daniel
> Thanks,
> ARIF
>
> -----Original Message-----
> From: users-bounces(a)lists.kamailio.org
> [mailto:users-bounces@lists.kamailio.org] On Behalf Of Juha Heinanen
> Sent: Sunday, October 19, 2008 3:44 PM
> To: users(a)lists.kamailio.org
> Subject: Re: [Kamailio-Users] Check if a user is calling from
> aregistereddevice and if not, deny the call!
>
> Arif-Uz-Zaman writes:
>
> > I've already tested with the following config but no luck. Since the
> > following config check only whether callee is registered or not. Not the
> > caller.
> >
> > if(!registered("location")) {
> > sl_send_reply("403","Forbidden auth ID");
> > exit;
> > }
>
> indeed the function should take a pseudo variable that contains aor used
> for checking.
>
> > Is there any other suggestions?
>
> save r-uri, store caller's aor to r-uri and call the above function.
> then restore r-uri.
>
> -- juha
>
> _______________________________________________
> Users mailing list
> Users(a)lists.kamailio.org
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>
>
> _______________________________________________
> Users mailing list
> Users(a)lists.kamailio.org
> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>
>
--
Daniel-Constantin Mierla
http://www.asipto.com
Hi Juha and others!
I wonder if I understand load/next_contacts(). If I understand it right
it can be used for example to make parallel/serial forking after an ENUM
lookup (multiple NAPTRs).
I think this is the correct usage:
if (enum_query()) {
if (load_contacts()) {
if (next_contacts()) {
t_on_failure("1");
t_relay();
} else {
sl_reply("500","error adding contacts");
}
} else {
sl_reply("500","error fetching destination set");
}
exit;
}
But I wonder what if all the branches after enum_query() have the same q
value. According to the README:
load_contact: If all contacts in the destination set have the same
qvalue, load_contacts() does not do anything thus minimizing performance
impact of sequential forking capability when it is not needed. Returns 1
if loading of contacts succeeded or there was nothing to do.
Thus, next_contacts() will be called although there are no AVPs to
fetch. Do I miss something here?
regards
klaus
Arif-Uz-Zaman writes:
> I've already tested with the following config but no luck. Since the
> following config check only whether callee is registered or not. Not the
> caller.
>
> if(!registered("location")) {
> sl_send_reply("403","Forbidden auth ID");
> exit;
> }
indeed the function should take a pseudo variable that contains aor used
for checking.
> Is there any other suggestions?
save r-uri, store caller's aor to r-uri and call the above function.
then restore r-uri.
-- juha