The openser website clearly states that OpenSER is not a B2BUA. Is
there a particular architectural limitation that would prevent a
module from implementing a B2BUA within OpenSER?
Cheers,
M
Hello:
I use postgresql to authorize the user.But it cann't work.Who can give me
some suggestion? Thank you very much!
My error log and openser.cfg fileas follows:
#Error log
May 18 12:24:43 th016184 /usr/local/sbin/openser[4358]: INFO: statistics manager
successfully initialized
May 18 12:24:43 th016184 /usr/local/sbin/openser[4358]: PostgreSQL - initializing
May 18 12:24:43 th016184 /usr/local/sbin/openser[4358]: StateLess module -
initializing
May 18 12:24:43 th016184 /usr/local/sbin/openser[4358]: TM - initializing...
May 18 12:24:43 th016184 /usr/local/sbin/openser[4358]: Maxfwd module-
initializing
May 18 12:24:43 th016184 /usr/local/sbin/openser[4358]: INFO:ul_init_locks: locks
array size 512
May 18 12:24:43 th016184 /usr/local/sbin/openser[4358]: TextOPS - initializing
May 18 12:24:43 th016184 /usr/local/sbin/openser[4358]: AUTH module -
initializing
May 18 12:24:43 th016184 /usr/local/sbin/openser[4358]: AUTH_DB module -
initializing
May 18 12:24:44 th016184 /usr/local/sbin/openser[4358]: register_udomain(): Cannot
open database connection file!
May 18 12:24:44 th016184 /usr/local/sbin/openser[4358]: domain_fixup(): Error
while registering domain
May 18 12:24:44 th016184 /usr/local/sbin/openser[4358]: ERROR: fix_actions: fixing
failed (code=-1) at cfg line 145
May 18 12:24:44 th016184 /usr/local/sbin/openser[4358]: INFO:mi_fifo:mi_destroy:
process hasn't been created -> nothing to kill
#openser.cfg
loadmodule "postgres.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"
loadmodule "xlog.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "auth.so"
loadmodule "auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- mi_fifo params --
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "db_url", "postgres://openser:openserrw@localhost/openser")
# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
modparam("auth_db", "db_url", "postgres://openser:openserrw@localhost/openser")
modparam("auth_db", "password_column", "password")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 2048 ) {
sl_send_reply("513", "Message too big");
exit;
};
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
if (!method=="REGISTER")
record_route();
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
};
if (!uri=~"localhost") {
# mark routing logic in request
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
# if you have some interdomain connections via TLS
#if(uri=~"@tls_domain1.net") {
# t_relay("tls:domain1.net");
# exit;
#} else if(uri=~"@tls_domain2.net") {
# t_relay("tls:domain2.net");
# exit;
#}
route(1);
};
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
if (uri=~"localhost") {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!www_authorize("localhost", "subscriber")) {
www_challenge("localhost", "0");
exit;
};
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
append_hf("P-hint: usrloc applied\r\n");
};
route(1);
}
route[1] {
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
exit;
}
Hi all,
I have the need to call rewriteuser() with a pseudovariable.
My need is to rewrite the user with the content of an extra header I put
in the SIP packet coming from a PSTN gateway
I tried with rewriteuser("$hdr(X-DNID)"); but it doesn't replace the
string with the ocntent of the pseudovariable.
Any idea ?
Tnx in advance
Edoardo Serra
WeBRainstorm S.r.l.
Hello all.
I have a problem with register
I dont know why, when I try to register a user behind NAT listening
in port 5060
the evalution of the sentence "if (uri==myself){" is true
and when change the port for another for example 5070
the evaluation of the same sentence is false
could somebody explain me?
or how can I do the sentence "if (uri==myself){"
using patern matching
My configuration is
listen = IP-MYSERVER
port = 5060
Thanks..
hi
is it possible to do following in config
if ( $avp(s:var_name) != myself ) {
# do something
}
var_name is AVP looking like "192.168.0.1"
If not -- how I can check that $avp(s:var_name) is not one of my
IP-address (without using DOMAIN or other module but by core only) ?
Thanks!
--
CU,
Victor Gamov
Hi!
On 05/18/2007 05:12 PM, Andreas Granig wrote:
> Alexander Bergolth wrote:
>> I've noticed that (at least on my boxes) x-lite uses a different
>> source-port for the sip-connection than the one that is announced in the
>> Via-header. (See the example below.)
>
> Are you sure there isn't any NAT or ALG in between?
I've done the packet dump on both ends, on a box running x-lite (with
the windows-firewall disabled) and on the proxy-host. Both show the same
source/destination ip-adresses and ports, so I assume there cannot be
any kind of ALG.
However, there is some packet filter (not doing NAT) between the box and
the proxy, maybe x-lite does some firewall-detection on startup and uses
the wrong port-number in the via header intentionally to enforce the use
of an rtp-proxy?
I'll do some tests on a box that isn't protected by a packet filter on
Monday.
> By default, x-lite binds to local port 5060, but you've some
> non-standard ports in there. So my guess is either a non-standard
> port setting in x-lite and NAT, or a faulty ALG on the NAT device.
I don't have any special settings in X-Lite, ICE is disabled, "Use local
IP address" is enabled.
I've noticed that your version of x-lite uses UDP, mine seems to use TCP
by default.
Cheers,
--leo
> Here's a trace using x-lite 2.0 r1105d (Linux):
>
> U 192.168.123.129:5060 -> <public IP>:5060
> REGISTER sip:<some domain> SIP/2.0.
> Via: SIP/2.0/UDP 192.168.123.129:5060;rport;branch=z9hG4<snip>
>
> Cheers,
> Andreas
--
e-mail ::: Alexander.Bergolth (at) wu-wien.ac.at
fax ::: +43-1-31336-906050
location ::: Computer Center | Vienna University of Economics | Austria
Hello all.
I have a problem with register
I dont know why the condition
if (uri==myself) {
My configuration is
listen = 148.226.26.245
port = 5060
Thanks
Hi Users,
I'm trying to setup a mediaproxy 1.7.2 running with operser 1.2.0 on Fedora
6. I can see all service running up. But when I make a call, the SDP does
not change the owner address in the INVITE to callee. Openser only report
following error:
May 18 09:25:51 localhost /sbin/openser[2808]: error:
mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy
Configure as attachment, can anyone help?
Thanks in advance.
Regards,
Lesley
Hi,
I want to start openser with runsv which requires that the starting
process run in the foreground. My problem is that I also want to
listen on a couple of different ports. When I set forking = yes, it
will listen on multiple ports, but runsv won't work. When I set
forking=no, then openser will only listen on the first specified port.
Is there any way around this? Can I have the starting process run in
the foreground and fork other processes that listen to the ports in
the background?
Here is the error message:
WARNING: no fork mode and more than one listen address found(will use
only the the first one)
Here are the associated configuration lines:
fork=no
children=32
# Local IP address/port pairs to listen to
listen=65.185.233.55:5061
listen=65.185.233.55:5062
# Alias IP address/port pairs
alias=65.185.233.104:5061
alias=65.185.233.104:5062
thanks,
Tim