i follow this instrucctions and when i execute open ser appear one failure,
this is the openser.cfg
#
# $Id: openser.cfg,v 1.6.2.1 2006/07/17 15:51:03 klaus_darilion Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
/* Uncomment these lines to enter debugging mode
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/openser_fifo"
#
# uncomment the following lines for TLS support
#disable_tls = 0
#listen = tls:your_IP:5061
#tls_verify_server = 1
#tls_verify_client = 1
#tls_require_client_certificate = 0
#tls_method = TLSv1
#tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem"
#tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem"
#tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/openser/modules/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- 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)
# -- 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", "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==myself) {
# 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==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
# if (!www_authorize("openser.org", "subscriber")) {
# www_challenge("openser.org", "0");
#exit;
# break;
# };
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;
}
thanks for all
--
=====================================================
Legolas_Bilbao[ID2006][GKR]
Dios creo un equipo Perfecto a los demas los lleno de extranjeros
http://www.forosindicedonkey.comhttp://usuarios.lycos.es/ligaforo/
=====================================================
Hi Jobson,
does your ITSP require digest authentication? if so, you better take a
look at uac module. See:
http://www.openser.org/docs/modules/1.2.x/uac.html
regards,
bogdan
Jobson Andrade wrote:
>
> Hi All,
>
> I need of send the calls for my ITSP using verification.
>
> Ex.:
>
> User = user_itsp
>
> Passwd = pass_itsp
>
> SIP Server = itsp.com.br
>
> I my configuration I made of this way, more not work.
>
> ………
>
> ##Obelisk
>
> if (uri=~"^sip:00[1-9][1-9][0-9]*@") {
>
> route(3);
>
> exit;
>
> }
>
> ………
>
> route[3]{
>
> #sending route to DDI
>
> strip(2);
>
> rewritehostport("itsp.com.br:5060");
>
> rewriteuser("user_itsp");
>
> rewriteuserpass("pass_itsp");
>
> route(1);
>
> exit;
>
> }
>
> ………
>
> How to made this in openser?
>
> I use the openser version 1.0.1
>
> Thanks in advanced,
>
> Jobson Andrade
>
> Projetos & Desenvolvimento
> Obelisk - The Asterisk & VoIP Experts
>
> phone/fax: (11) 2164-4808 ext. 115
> cell Phone: (11) 8175-9916 / 8271-0480
> email: jandrade(a)obelisknet.com.br <mailto:jandrade@obelisknet.com.br>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Users mailing list
> Users(a)openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>
Dan,
the env. vars. are also available in 1.1.x :
http://www.openser.org/docs/modules/1.1.x/exec.html#AEN33
the buffer that is sent to the script by exec_msg() is the original
received buffer, so it does not contain any of your script changes.
regards,
bogdan
Dan-Cristian Bogos wrote:
> Hi Bogdan,
>
> Till 1.2.x will be stable, I have to use 1.1.0 in my production,
> therefore I cannot use the new features from 1.2.x (even if I am keen
> of doing this).
>
> About the external script, I am passing the full message to the
> external script, and I have considered that this is after I have done
> the ruri modification through avps. I have tried also by using strip()
> and prefix() functions from the core, but got the same result: my
> changes were not applied when echoing the message to the external
> script.
>
> As I have wrote also to users mailing list, here is my routing flow:
>
>
> if (avp_check("$avp(s:message_dst)","re/sip:00.*/g")) {
> avp_subst("$avp(s:message_dst)/g", "/sip:00(.*)/sip:+\1/");
> xlog("I have changed the destination from sip:00 into sip:+ and avp
> is $avp(s:message_dst)");
> };
>
> if (!avp_pushto("$ru","$avp(s:message_dst)")) {
> sl_send_reply("403", "Cannot set destination from AVP");
> exit;
> };
>
> exec_msg("/scripts/echo_message");
> t_newtran();
> t_reply("200", "OK");
> t_release();
> exit;
>
> Thxs in advance,
> Dan
>
> On 2/15/07, Bogdan-Andrei Iancu <bogdan(a)voice-system.ro> wrote:
>> Hi Dan,
>>
>> how are you accessing the ruri from the external script? maybe you
>> should use the env vars set by openser - see:
>> http://www.openser.org/docs/modules/1.2.x/exec.html#AEN33
>>
>> guess SIP_RURI is what you need.
>>
>> regards,
>> bogdan
>>
>> Dan-Cristian Bogos wrote:
>> > Guys,
>> >
>> > I've got a problem with MESSAGE processing.
>> > I am trying to push an avp to replace $ru before dispatching the
>> > message to a local script. I can log the modification of the ru
>> > successful with xlog, but, as soon as I will send the message to the
>> > local script, it looks like the changes are dropped and to the script
>> > will be presented the original message. Any ideea why? Are the changes
>> > not applied for messages not forwarded out, and dispached locally?
>> >
>> > In my routing I have:
>> >
>> > if (avp_check("$avp(s:message_dst)","re/sip:00.*/g")) {
>> > avp_subst("$avp(s:message_dst)/g", "/sip:00(.*)/sip:+\1/");
>> > xlog("I have changed the destination from sip:00 into sip:+ and
>> avp
>> > is $avp(s:message_dst)");
>> > };
>> >
>> > if (!avp_pushto("$ru","$avp(s:message_dst)")) {
>> > sl_send_reply("403", "Cannot set destination from AVP");
>> > exit;
>> > };
>> >
>> > exec_msg("echo_message");
>> > t_newtran();
>> > t_reply("200", "OK");
>> > t_release();
>> > exit;
>> >
>> > I appreciate any kind of advice.
>> >
>> > Thxs,
>> > Dan
>> >
>> > _______________________________________________
>> > Users mailing list
>> > Users(a)openser.org
>> > http://openser.org/cgi-bin/mailman/listinfo/users
>> >
>>
>>
>
Hi,
I'm working on extending my OpenSER configuration to allow
a user account to have one or more aliases.
User A is reachable by calling A, but also using alias B or
C. I have this working for calls to the UA, but I'm having
problems with registration attempts from A and calls from
A to other UA's or PSTN where it wants to send B or C as
outgoing CLI.
For some reason, all UAs I've seen so far need to register
their aliases to be able to send an alias as outgoing CLI.
My OpenSER config uses the following to check authenticate
the user (from an old SER example:
if (!www_authorize("domain", "subscriber"))
{
www_challenge("domain", "0");
exit;
}
if (!check_to())
{
log("LOG: To Cheating attempt\n");
sl_send_reply("403", "That is ugly -- use To=id in REGISTERs");
exit;
};
When a UA tries to register an alias the www_authorize()
succeeds, because the UA sends the correct authentication
data for A, but uses the alias B or C in the To and From
headers so check_to() fails with the error that B or C is
being spoofed.
I (OpenSER) know that B and C are aliases of A, but how do I
make this registration logic accept that and send a 200 OK message
back? (I also don't want to save the registered alias in the
location table, but that part I know how to do, I think).
The calls using outgoing CLI of the alias have I think the same
problem where the From header has an alias where check_from()
expects the data for A. I think the solution for this would be
something comparable to solving the registration problem, correct?
Thanks!
--
Andreas Sikkema
Guys,
I've got a problem with MESSAGE processing.
I am trying to push an avp to replace $ru before dispatching the
message to a local script. I can log the modification of the ru
successful with xlog, but, as soon as I will send the message to the
local script, it looks like the changes are dropped and to the script
will be presented the original message. Any ideea why? Are the changes
not applied for messages not forwarded out, and dispached locally?
In my routing I have:
if (avp_check("$avp(s:message_dst)","re/sip:00.*/g")) {
avp_subst("$avp(s:message_dst)/g", "/sip:00(.*)/sip:+\1/");
xlog("I have changed the destination from sip:00 into sip:+ and avp
is $avp(s:message_dst)");
};
if (!avp_pushto("$ru","$avp(s:message_dst)")) {
sl_send_reply("403", "Cannot set destination from AVP");
exit;
};
exec_msg("echo_message");
t_newtran();
t_reply("200", "OK");
t_release();
exit;
I appreciate any kind of advice.
Thxs,
Dan
Hello
In the OpenSER feature list it says that it support transactional
stateful SIP Proxy processing. Does that mean Call Stateful?
I mean if a session is established and a UA sends a re-INVITATION (for
example to add video to voice) will the OpenSER Proxy will be informed
of this new transaction ? And eventually can it disallow this new
transaction (if there is no enough resources like bandwith)?
Regards,
Thanks.
--
Michel Bensoussan
Extricom Ltd.
Tel-Aviv University,
The Wolfson Computer and
Software Engineering Building
30 Haim Levanon Street,
P.O.B. 39040
Tel-Aviv, 61390
Israel
Tel: +972 3 745 1000 ext 1065
Fax: +972 3 745 1001
Ciao!
I'm trying to authenticate using Radius.
I've installed radiusclient-ng 0.5.2
i've configured radiusclient.conf with the IP address of the radius server.
I've configured SER with:
...
modparam("auth_radius", "radius_config",
"/etc/radiusclient-ng/radiusclient.conf")
...
if (method=="REGISTER") {
if (!radius_www_authorize("example.it")) {
www_challenge("example.it", "0");
exit;
}
save("location");
}
but it doesn't work: there seem to be a problem in the client because
there is no IP Packet that goes out directed to the radius server...
in the log of SER i have no errors...
thank you for any help,
Stefano
We are looking to find a way to audit the accounts on our SER that
haven't been used in a long time so we can decide if they are dead and
we can remove them, hence re-use their PSTN numbers. I'm not sure if
there's any module built in that could do this? Any ideas? There's 4000
accounts approximetely.
Thanks
Nick
Hi !!
Is there still some mechanism for user aliases in ottendorf??
I ask because when I add a user through serweb it adds two records to the uri table one for a canonical name and the other for numeric address.
What has to be done (what function called in ser.cfg) so that whenever user will be called on that numerical name there will be a possibility to forward the call to him, like it was previously done in ser 0.9 with lookup("aliases")?
Bests
-Tomasz