Hi all,
I have a problem with accounting wrong BYEs:
I have noticed that some UAs like the spa are sending BYE to cancel an
INVITE instead of a CANCEL message. Now openser is interpreting this
correctly, but the problem is with accounting which will account this
BYE as call stop. Since there was never OK to the invite, there is no
call start and just a call stop which makes my billing very unhappy.
Is it possible to have something in the accounting module that will
prevent such "fake" byes of being accounted?
I am also thinking how to script it in my config, what i have thought
of so far is when receiving a BYE to check if there is ongoing
transaction and if there is, do not flag the BYE for accounting. This
however will probably result in some real BYEs not being accounted
too, because (correct me if wrong) the transaction will still exist in
mem for some short time after the OK is received.
Any help or suggestions will be greatly appreciated.
Best,
Dimo
Hello Guys,
Just like to request assistance in trying to figure out how can I route the
call from SER as seen on TO header. Below is the snippet of the sip log:
0(20457) DEBUG: get_hdr_field: <To> [34]; uri=[sip:8810844@24.90.219.179
:8700]
0(20457) DEBUG: to body [<sip:8810844@24.90.219.179:8700>
]
0(20457) get_hdr_field: cseq <CSeq>: <1154241348> <INVITE>
0(20457) DEBUG:maxfwd:is_maxfwd_present: value = 70
0(20457) DBG:maxfwd:process_maxfwd_header: value 70 decreased to 16
0(20457) check_via_address(10.10.10.21, 10.10.10.21, 0)
0(20457) Sending:
INVITE sip:8810844@10.10.10.86 SIP/2.0
Via: SIP/2.0/UDP 10.10.10.86;branch=0
Via: SIP/2.0/UDP 10.10.10.21;branch=z9hG4bK13666f91365343
From: <sip:2589@mandela>;tag=cba-0094-44cc5343
To: <sip:8810844@24.90.219.179:8700>
Call-ID: 317e120dd2385173-0094-44cc5343-282c(a)10.10.10.21
CSeq: 1154241348 INVITE
Contact: <sip:2589@10.10.10.21>
Date: Sun, 30 Jul 2006 06:35:47 GMT
User-Agent: BRSIP v2.0.0.11
Max-Forwards: 16
Allow: INVITE, ACK, CANCEL, BYE, OPTIONS, INFO, SUBSCRIBE, NOTIFY
Allow-Events: keep-alive, message-summary
Supported: timer
Session-Expires: 1800
Min-SE: 600
Expires: 300
Content-Type: application/sdp
Content-Length: 220
v=0
o=BRSDP 177 177 IN IP4 10.10.10.21
s=BRSDP Session
c=IN IP4 63.116.254.21
t=0 0
m=audio 15000 RTP/AVP 4 18 101
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
I need SER to send the call based on the TO HEADER URI seen on
get_hdr_field. This value changes depending on what another sip proxy is
sending to the SER. The t_relay is not working as i like it to behave. Any
help is greatly appreciated. Thanks in advance.
Hi, i'm using mediaproxy 1.7.2 and ser. I found a problem when trying to use
accounting features of mediaproxy. It simply does not account anything.
If i just only pass one path throught media proxy, (INVITE SIDE), it does
account media, and Kb data.
Here is my config. Please people.. any clue about this!?.
route[1] {
t_on_reply("1");
if (method == "INVITE") {
use_media_proxy();
} else if (is_method("BYE|CANCEL")) {
end_media_session();
};
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
exit;
}
onreply_route[1] {
if (status=~"(180)|(183)|(2[0-9][0-9])") {
use_media_proxy();
};
}
Hi All,
I'm trying to setup a redundant environment with DNS SRV records, 2 (or
more) SIP registration servers, and Asterisk gateways.
Basically I've setup both OpenSER clients to t_replicate each other the
registration message if its coming from a client, and save it to the
database or to memory when its coming from the other OpenSER server.
However, every once in a while, I get message to big, and or duplicate
messages (WARNING: warning skipped -- too big, or ERROR:
warning_builder: buffer size exceeded, submit_query: Duplicate entry
,db_insert: Error while submitting query...)
While it seems to work in general, I was not sure that this is the
"right" way to do it.
I'm attaching my openser.cfg of one of the machines; the other is more
or less identical...
Thanks
# ----------- global configuration parameters ------------------------
debug=9 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
listen=172.28.132.20
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/openser_fifo"
alias="mydomain.com"
# ------------------ module loading ----------------------------------
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"
loadmodule "/usr/local/lib/openser/modules/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
loadmodule "/usr/local/lib/openser/modules/lcr.so"
loadmodule "/usr/local/lib/openser/modules/xlog.so"
# ----------------- setting module-specific parameters ---------------
modparam("usrloc", "db_mode", 2)
modparam("usrloc|lcr|auth_db|avpops|group","db_url","mysql://openser:ope
nserrw(a)voip-db.mydomain.com/openser")
modparam("auth_db", "calculate_ha1", yes) modparam("auth_db",
"password_column", "password")
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) {
route(1);
};
# Handle Request logic here
if (uri==myself) {
if (method=="REGISTER") {
route(2);
exit;
}
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
};
if (!load_gws()) {
sl_send_reply("500", "Server Internal Error -
Cannot load gateways");
exit;
};
if (!next_gw()) {
sl_send_reply("503", "Service not available, no
gateways found");
log (1,"No more gateways");
} else {
log (1,"Found a gateway");
}
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;
}
route[2] {
#handle all Registration here....
if (search("^(Contact|m):
.*(a)(voip.mydomain.com)")){
log(1, "ALERT: someone trying to set
aor==server address\n");
sl_send_reply("476", "Server address in
contacts is not allowed" );
exit;
};
# challenge/response
#if a registration request is coming from another ser server, it
means that's it's already authenticated the user and wrote
#an entry in the database, so lets just write it into our
memory.
if (src_ip==172.28.132.21) {
save_memory("location");
log(1, "Registered replicated user from
Proxy");
exit;
};
# this is a new request, lets check that the user is
valid.
if (!www_authorize("mydomain.com",
"subscriber")) {
www_challenge("mydomain.com", "0");
log(1, "Authentication challenge issued.
Waiting for reply.\n");
exit;
};
# Authentication successful, add entry to our Contact database
log(1, "Authentication challenge reply ok.\n");
if (!save("location")) {
sl_reply_error();
log(1, "ALERT: Unable to save URI to
location database.\n");
} else {
# and replicate the request to the backup server
if (!src_ip==172.28.132.21) {
log(1, "REPLICATE: Replicating
register request\n");
t_replicate("sip:172.28.132.21:5060");
};
};
}
Hi all
Is any one here in the group used any call management software for SER
I have seen software for Asterisk hudlite, does any kind of software for SER
any one tested and report their experiences
why iam asking is
after Ser running some days
i get this error in my syslog
sl_reply_error used: I'm terribly sorry, server error occured (2/SL)
that time my users not able to make call, i keep get fast busy, that time i
need to reboot the Ser
so calls again start going out side
If any kind of monitoring software available or do automated job, when ever
found that calls are not going
then restart SER or some kind of solution should help the admin to chek the
logs, when the SER restarted.
If not some one need to monitor constantly or wait for customer to call to
support \the calls are not going
then we restart service will back the services, but i feel bad practice,
before customer realise some problem with
server, the Admin able to fix the problem
any suggestions will be appriciated.
ram,
Thanks so much for your prompt reply. Changing the Date and Time fixed the problem. You are a genius!
There were no error messages that I could see, but because the compile/build was failing to complete, I could not install OpenSER. I am new to both Linux and OpenSER.
Thanks once again for your help.
> ----------------------------------------
> Sender: Klaus Darilion <klaus.mailinglists(a)pernau.at>
> To: J K kruzn(a)breakthru.com
> Date: Jul 31, 2006 5:41 PM BST
>
> I see only warnings, which you can fix by setting the correct date/time
> on you Linux PC.
>
> Aren't there any error messages?
>
> regards
> klaus
>
> J K wrote:
> > Hi there. I'm trying to install Openser 1.0.1 on CentOS 4.3. I've
> > untarred the source code using
> > 'tar zxvf openser-1.0.1_src.tar.gz' to a directory openser-1.0.1, but
> > when I type 'make all' or 'make prefix=/ all' to build, I get the
> > following errors:
> >
> > make: Warning: File `Makefile.rules' has modification time 1.4e+07 s in
> > the future
> > bison -d -b cfg cfg.y
> > cfg.y: conflicts: 1 shift/reduce
> > bison -d -b cfg cfg.y
> > cfg.y: conflicts: 1 shift/reduce
> > flex cfg.lex
> > make: Warning: File `Makefile.rules' has modification time 1.4e+07 s in
> > the future
> > bison -d -b cfg cfg.y
> > cfg.y: conflicts: 1 shift/reduce
> > bison -d -b cfg cfg.y
> > cfg.y: conflicts: 1 shift/reduce
> > flex cfg.lex
> > make: *** Deleting file `sr_module.d'
> > make: *** [sr_module.d] Interrupt
> >
> > Anyone have any idea how I can fix this?
> >
> > Thanks in advance.
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Users mailing list
> > Users(a)openser.org
> > http://openser.org/cgi-bin/mailman/listinfo/users
>
__________________________________________
BreakThru.com - Pure email. Zero spam.
http://friendfinder.com/go/f47930 - Dating Personals and Social Networking
http://quizhappy.com/go/f301 - Ph.D certified tests and quizzes
http://dine.com/go/f5554 - Restaurant Reviews in your area
Strange, I used to be able to use serctl to add subscribers, but with
openserctl, the choice are very limited, why? All those nice command line
options seem to be gone:-(.
Best Regards,
Bill Zhang
Thank you all for your comments.
After having researched documents and history from both iptel and OpenSER,
I could not resist a feeling that iptel is somewhat lagging in their
intension to go forward with SER to the direction that it had headed to.
Naturally by huge changes in key members and contributors, may it lead to
changes in business and philosophy, as Daniel mentioned more factually.
We decided to switch to OpenSER while we are in testing phase and we have
two key questions that we'd like to here from the experts.
1. Is there any comtatibility issues out there between SER and OpenSER
mixed infrastructure; due to differences in functionality between SER
and OpenSER?
2. Hardware and OS question regarding OpenSER;
Is there any known obstacles over Fedora Core; 2.6.12-1.1387_FC4smp
SMP version running on dual Athlon 64?
Again, thank you all in advance.
John K.
> I will add few remarks related to project's policy and evolution.
>
> OpenSER is driven by a board with members from different companies which
> will ensure project's independence and survival when one company changes
> its interest in the public project. Also, the project has a clear
> roadmap, major changes being discussed on development mailing list.
> People leading the project are two of the five core developers of SER
> and four main contributors of SER.
>
> The release policy is guided by changes and it is about one major
> release every 6-8 months. This type of releasing allow easy migration
> from older version to new one, otherwise the administrators will have
> nightmares to update to totally new configuration and database structure
> - small steps guarantee better results when dealing with production
> environments.
>
> The contributions are accepted if they follow a recognized standard from
> IETF/ITU/ETSI or other standardization groups, or is general interesting
> feature. No company can stop it for private interest.
>
> In this way we are able to implement geographic distributed VoIP
> platforms with the latest OpenSER, have a significant number of database
> types supported as backend via the unixodbc module in the stable
> version, these and may others only from third party contributions. Other
> important scalability features added in about one year of OpenSER:
> number of location entries which can be managed by OpenSER compiled with
> default flags grew from about 4000 entries as it was when it forked from
> SER to about 120 000, and now this number scales linear with available
> memory (for 120000 online users, OpenSER uses about 40MB memory, while
> the old architecture required about 256MB). I am sure you can find more
> on project's web site ...
>
> Cheers,
> Daniel
>
>
> On 07/16/06 13:06, Greger V. Teigre wrote:
>> Well, trying to be a bit objective:
>> 1. It depends on your needs
>> 2. OpenSER has a more aggressive release policy (more newer features),
>> meaning that openser contains more functions and modules than ser
>> 3. Latest SER is 0.9.x and is extremely stable
>> 4. Openser 0.9.x and ser 0.9.x are (almost) close to identical. From
>> 0.10 they start to diverge. SER 0.10 is not yet released, OpenSER has
>> reached 1.1
>> 5. The type of features/functionality included in SER and openser are
>> likely to be quite different
>> 6. OpenSER is currently better documented in the latest version
>>
>> Have a look at the onsip.org Getting Started guide for more detail on
>> history.
>> g-)
>>
>> Chahn John Kim wrote:
>>
>>> I am a SER starter.
>>> I have seen many subjects related to Openser.
>>>
>>> Can someone shed a light on what are the differences between these?
>>> And even some insights to suggest which may be better than the other?
>>>
>>> We are planing to start business service shortly and we appreciate any
>>> inputs on which SIP server infrastructure provides better performance
>>> and
>>> scalability.
>>>
>>> Thank you in advance.
>>>
>>> John K.
>>>
>>>
>>> _______________________________________________
>>> Serusers mailing list
>>> Serusers(a)lists.iptel.org
>>> http://lists.iptel.org/mailman/listinfo/serusers
>>>
>>>
>>>
>>>
>> _______________________________________________
>> Serusers mailing list
>> Serusers(a)lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers
>>
>>
>
--
Chahn John Kim
Koreanet.US
Tel: 847-564-0698
email: johnk(a)koreanet.us
johnk(a)netcomusa.us
--
Chahn John Kim
Koreanet.US
Tel: 847-564-0698
email: johnk(a)koreanet.us
johnk(a)netcomusa.us
Hello, (this is mainly for SER developers).
According to README file, the auth_radius module has been
implemented according to draft-sterman-aaa-sip-00.
Is there any intension on SER developers' plans to implement
a Radius Authentication module according to new RFC4590 ?
thanks in advance for any hint,
Kostas