Hi. Could any one say me when we use proxy server and when it is necessary to use redirect server?
thanks.
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Hello list!
I observed, on an openser-1.1.0, that stateful relayings of BYE requests absorb retransmissions from the sender but do not retransmit it to the next hop in the Route header.
Please, is it normal or is ti a misconfiguration from myself ?
Thanks a lot!
JF Smigielski.
________________________________________________________________________
iBELGIQUE, exprimez-vous !
http://web.ibelgique.com/
As this might be interesting for other users I cc'ed the list again.
Just to be sure: you know that their is no alias table any more, right? Alias
or not is just a matter of the flag value in the uri table.
In general there is no need any more for re-writting a request which was
targeted towards an alias. Request towards an alias are handled exactly the
same way as "normal" requests, because both will get the same UID value.
If you used the alias table for re-distributing the requests outside of your
domain, which is actually more a forwarding function then an alias, then you
could have this function as one (out of many) possible alternative(s) with
AVPs like this:
(Note: non-tested pseudo code)
lookup_user("$t.uid", "ruri");
...
if ($t.uid) {
load_attrs("$tu", "$t.uid");
if ($t.forwarding_target) {
attr2uri("$t.forwarding_target");
t_relay();
}
}
Greetings
Nils
On Friday 05 January 2007 17:27, you wrote:
> Thanks for the reply, Nils! I suppose I am a more of a newbie than I first
> appeared as your answer is a little over my head. What I am trying to do
> with the new version of SER is what used to be done (in previous versions)
> with
>
> If (lookup("aliases")){
> Route(1);
>
> To redirect users based on a few entries in the aliases table. I won't be
> using the SER server as a registrar or to handle dynamic user locations or
> even authenticated accounts -- it will be open to the public without
> authentication to access SIP accessible numbers and users. Mostly what I
> want to do is just to route calls that SER receives (like john(a)iptn.org,
> 5555555555(a)iptn.org etc.) to the domain/uri that used to be accessed in the
> aliases table (openser worked this way too).
>
> Sorry for not explaining better and thanks again for your help!
>
> Eliott
>
>
> -----Original Message-----
> From: Nils Ohlmeier [mailto:nils@iptel.org]
> Sent: Friday, January 05, 2007 8:32 AM
> To: serusers(a)lists.iptel.org
> Cc: Eliott Spencer
> Subject: Re: [Serusers] aliases
>
> Hello,
>
> On Friday 05 January 2007 04:27, Eliott Spencer wrote:
> > I am coming over from OpenSER because I ran some tests and found SER to
> > be much faster. There are some things that are new to me that I imagine
> > are easy to do. I have a working config with the 12/22/06 development
>
> snapshot
>
> > of 0.10 but I would like to lookup aliases to redirect inbound calls to
> > another domain. I filled in the domain table and the uri table with a
>
> user
>
> > and I looked through the sample config but can't seem to get it to work.
>
> I
>
> > have also loaded the domain module, then the uri module, then the avp and
> > avpops modules (among others).
> >
> >
> >
> > Any idea what I might need to put in my route? This doesn't seem to work
> > (stolen from ser.cfg.sample):
> >
> >
> >
> > if (lookup_user("$t.uid", "@ruri")) {
> >
> > setflag(1);
> >
> > route(1);
> >
> > break;
> >
> > };
>
> from looking at your code snipset I'm not sure what you really want to
> achieve.
> In general you should just do the lookup_user and then examine the AVPs
> afterwards. I think that it is easier then looking at the result code of
> the
>
> lookup_user function.
> If you really want to distingiush if the call was targeted to an alias or
> the
> non-alias URI of an user then check for the AVP ruri_canonical. If it is
> set
>
> (to the value 1) the URI contained the canonical (=non-alias) URI of the
> user.
> If you just want to know if the URI is a know one and belongs to a user,
> just
> check for the presence of the uid AVP after the lookup_user call. If it is
> present the user is know to the system under the value of the uid AVP.
> Otherwise the user/URI is not known to the system.
>
> Hope this helps
> Nils
I try to fork a call to another user registered at the same proxy as the
caller. I figured out that the easiest method would be to use the
append_branch() function, something like
route[0] {
if (method=="REGISTER") { save("location"); exit; }
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
}
# if someone calls test2@domain, fork call to test4@domain
# (test2 and test4 are both registered at domain)
if (avp_check("$rU", "eq/test2")) {
append_branch("sip:test4@127.0.0.1");
}
if (!t_relay()) {
sl_reply_error();
};
exit;
}
I know that this could also be achieved by adding permanent location
records, but I'd like to load the forking targets from a DB in the
future. So my first question would be if using
append_branch("sip:test4@127.0.0.1");
is the correct way to do parallel forking to a local user.
I'm asking because this method does not work for me as expected. It
seems that the two UAC state machines running on the same proxy host
that are involved in a forking call do somehow not work well together.
Forking the INVITE to both test2 and test4 works well, but when I pick
up test2 the call gets terminated after a few seconds. Further
investigations have revealed that canceling the second call leg does not
work correctly. There is a message flow diagram available at
http://www.unc.edu/~cschlatt/openser.html .
For some reason, the proxy process sending from 127.0.0.1 is
retransmitting the 487 "Request Terminated" although it receives ACKs
from the upstream proxy. And this causes the upstream proxy to send a
487 back to the caller (time 15.360), which then terminates the call
established between caller and test2.
And this only happens if I fork to the same proxy, if I use two proxy
hosts everything works fine (??).
Any advice is highly appreciated,
Christian
Hi Users,
I'm Setting UP the Voicemails by integrating with Asterisk and OpenSER,
After 32 sec or 6 ring, it has to go the Voicemail server of Asterisk,
In openser.cfg ........... is not hiiting the Asterisk server
............. ... any one help me ........
....
....
modparam("tm","fr_timer",6)
modparam("tm","fr_inv_timer",24)
modparam("tm","wt_timer",1)
#mrodparam("tm", "ruri_matching", 0)
#modparam("tm", "via1_matching", 0)
modparam("avpops","avp_url","mysql://root:passwd@192.168.2.75/openser")
modparam("avpops", "avp_table", "usr_preferences")
modparam("avpops","avp_aliases","inv=i:15")
...............
route
{
......
if (loose_route()) {
t_relay();
exit;
};
if(is_method("INVITE") && !has_totag())
{
xdbg("user [$ruri] has voicemail redirection
enabled\n");
# backup R-URI
avp_write("$ruri","$avp(inv)");
setflag(2);
};
..............
....
route(1);
}
route[1] {
if(isflagset(2))
{
t_on_failure("1");
};
}
failure_route[1] {
log("----------------------------------------- \n");
if (t_was_cancelled()) {
xdbg("transaction was cancelled by UAC\n");
return;
}
# restore initial uri
avp_pushto("$ruri", "$avp(inv)");
prefix("9");
# route to Asterisk Media Server
rewritehostport("192.168.2.75:5060");
append_branch();
t_relay("192.168.2.75:5060");
resetflag(2);
}
.........................
--
Thanks and Regards
Ravi Prakash Sunkara
ravi.sunkara(a)hyperion-tech.com
M:+91 9985077535
O:+91 40 23114549
F:+91 40 40208727
ravi.sunkara(a)hyperion-tech.com
www.hyperion-tech.com
hai all,
i am using X-lite as sip client .i have installed in
window and am able to send instance messages and presence info is also
fine with openser In redhat Linux i am trying to send instance messages
using X-lite , but i am not able send and not able to receive any
messages . is X-lite linux version is support for redhat linux Es 3.0
or any other sip client is there for redhat linux Es 3.0
Thanks and Regards
venkatesh.d
I am coming over from OpenSER because I ran some tests and found SER to be
much faster. There are some things that are new to me that I imagine are
easy to do. I have a working config with the 12/22/06 development snapshot
of 0.10 but I would like to lookup aliases to redirect inbound calls to
another domain. I filled in the domain table and the uri table with a user
and I looked through the sample config but can't seem to get it to work. I
have also loaded the domain module, then the uri module, then the avp and
avpops modules (among others).
Any idea what I might need to put in my route? This doesn't seem to work
(stolen from ser.cfg.sample):
if (lookup_user("$t.uid", "@ruri")) {
setflag(1);
route(1);
break;
};
Thanks!
Hi,
I'm getting a segfault error while running the latest presence server snapshot (ser-0.10.99-dev35-pa-4.2). The scenario is:
UA SER
SUBSCRIBE ---------->
200 <----------
NOTIFY <----------
200 ---------->
Everything is fine until the subscription expires, at which point the PA module segfaults and generates a core file. Any suggestions on this? (logfile and backtrace from gdb are attached).
Hi Juha,
Thanks for your reply.
First prominent doubt that I have is; when I am using LCR in db_only mode why does openser try to load the table while starting up?
The scenario is as follows:
I had 50 rows in LCR table and started openser and it started properly and also routed the calls properly according to the values in lcr and gw table. Now I just appended more 40,000 rows to this table and again the routing worked properly
as per my lcr table. This behaviour was correct as I was using query only mode. I did not need any restart or any fifo reload command.
Only when I restarted my openser, the openser again died as it was trying load the lcr table while starting.
Could this be a bug in lcr module as I am not sure whats happening.
I tried increasing MAX_NO_OF_LCRS but even that did not help.
Somebody please help if poosible.
Thanks,
w/regards,
jayesh
----- Original Message ----
From: Juha Heinanen <jh(a)tutpro.com>
To: Jayesh Nambiar <voip_freak(a)yahoo.co.in>
Cc: openser <users(a)openser.org>
Sent: Tuesday, 26 December, 2006 10:58:01 PM
Subject: [Users] LCR db_only mode problem
X-VM-v5-Data: ([nil nil nil nil nil nil nil nil nil]
the error messages you get are coming from this statement:
if (lcr_dbf.query(dbh, NULL, 0, NULL, lcr_cols, 0, 4, 0, &res) < 0) {
LOG(L_ERR, "lcr_reload_gws(): Failed to query lcr data\n");
lcr_dbf.close(dbh);
return -1;
}
i don't know which kind of memory db queries reserve. if shared memory,
you can start openser with larger -m parameter value. if pkg memory,
you need to edit PKG_MEM_POOL_SIZE in config.h and recompile openser.
with lots of lcr entries and no caching, performance may be bad.
if you use caching then you need to increase value of
#define MAX_NO_OF_LCRS 256
in lcr_mod.c and recompile lcr module. increasing MAX_NO_OF_LCRS means
that more shared memory will be used so you may also need to start
openser with larger -m parameter value.
-- juha
Send free SMS to your Friends on Mobile from your Yahoo! Messenger. Download Now! http://messenger.yahoo.com/download.php