No Binu, i never got this issue. I will suggest to grep the logs using
ethreal and check timestamps.
>From: Binu Nair <binu(a)staff.ownmail.com>
>Reply-To: Binu Nair <binu(a)staff.ownmail.com>
>To: "Kapil Dhawan" <sersavvy(a)hotmail.com>
>Subject: RE: [Serusers] SER accounting
>Date: Tue, 14 Feb 2006 13:18:55 +0530
>
>Hello Kapil,
>Thanx for the reply.
>
>In fact the timestamps from acc and syslog are the same. But I am comparing
>with my KDE clock which configured to show the seconds also. I note down
>the time when I actually disconnect the call. And this time seems to vary
>from acc time. The difference is 3 to 6 seconds.
>
>But have you observed this?
>
>Syslog is in the same server.
>
>
>
>Thanks & Regards,
>
>"Research is what I'm doing when I don't know what I'm doing."
>
>Binu V B
>Trikon Electronics Pvt Ltd
>
>
>
>Kapil Dhawan wrote:
> > >Kindly check with the timestamps you are getting in acc and match it
>with
> >syslog. Is your syslog a different server.
> >
> >
> >
> >>From: Binu Nair <binu(a)staff.ownmail.com>
> >>Reply-To: Binu Nair <binu(a)staff.ownmail.com>
> >>To: "Kapil Dhawan" <sersavvy(a)hotmail.com>
> >>Subject: RE: [Serusers] SER accounting
> >>Date: Mon, 13 Feb 2006 14:18:20 +0530
> >>
> >>Hello,
> >>
> >>The difference is not 5:30. In fact, it is some seconds. Mostly, the
> >>timestamp that i get in the syslog is 2 to 5 seconds after the actual
> >>disconnect time
> >>
> >>
> >>Thanks & Regards,
> >>
> >>"Research is what I'm doing when I don't know what I'm doing."
> >>
> >>Binu V B
> >>Trikon Electronics Pvt Ltd
> >>
> >>
> >>
> >>Kapil Dhawan wrote:
> >> > >
> >> >It works as per GMT...Add 5:30 hours while you draw them on screen.
> >> >
> >> >>From: Binu Nair <binu(a)staff.ownmail.com>
> >> >>Reply-To: Binu Nair <binu(a)staff.ownmail.com>
> >> >>To: serusers(a)lists.iptel.org
> >> >>Subject: [Serusers] SER accounting
> >> >>Date: Mon, 13 Feb 2006 12:05:03 +0530
> >> >>
> >> >>Hello,
> >> >>
> >> >>I have installed ser-0.9.6 and I was able to make calls. But when I
>make
> >> >>the call logs using log() and xlog() functions, value of the
>timestamp
> >>that
> >> >>comes in the log is found to be different from the actual timestamp.
> >> >>
> >> >> I used (%Ts,%Tf) parameters in xlog() function to create the log.
>Is
> >> >>there any way I can log the call disconnect time?
> >> >>
> >> >>
> >> >>Thanks & Regards,
> >> >>
> >> >>"Research is what I'm doing when I don't know what I'm doing."
> >> >>
> >> >>Binu V B
> >> >>Trikon Electronics Pvt Ltd
> >> >>
> >> >>
> >> >>
> >> >
> >> >
> >> >>_______________________________________________
> >> >>Serusers mailing list
> >> >>serusers(a)lists.iptel.org
> >> >>http://lists.iptel.org/mailman/listinfo/serusers
> >> >
> >> >_________________________________________________________________
> >> >Spice up your IM conversations. New, colorful and animated emoticons.
>Get
> >> >chatting! http://server1.msn.co.in/SP05/emoticons/
> >>
> >>
> >
> >_________________________________________________________________
> >Shah Rukh fan? Know all about the Baadshah of Bollywood. On MSN Search
> >http://server1.msn.co.in/profile/shahrukh.asp
>
>
_________________________________________________________________
How good are you in a Formula One car? Play now
http://server1.msn.co.in/sp05/tataracing/onlinegame.asp
Kindly check with the timestamps you are getting in acc and match it with
syslog. Is your syslog a different server.
>From: Binu Nair <binu(a)staff.ownmail.com>
>Reply-To: Binu Nair <binu(a)staff.ownmail.com>
>To: "Kapil Dhawan" <sersavvy(a)hotmail.com>
>Subject: RE: [Serusers] SER accounting
>Date: Mon, 13 Feb 2006 14:18:20 +0530
>
>Hello,
>
>The difference is not 5:30. In fact, it is some seconds. Mostly, the
>timestamp that i get in the syslog is 2 to 5 seconds after the actual
>disconnect time
>
>
>Thanks & Regards,
>
>"Research is what I'm doing when I don't know what I'm doing."
>
>Binu V B
>Trikon Electronics Pvt Ltd
>
>
>
>Kapil Dhawan wrote:
> > >
> >It works as per GMT...Add 5:30 hours while you draw them on screen.
> >
> >>From: Binu Nair <binu(a)staff.ownmail.com>
> >>Reply-To: Binu Nair <binu(a)staff.ownmail.com>
> >>To: serusers(a)lists.iptel.org
> >>Subject: [Serusers] SER accounting
> >>Date: Mon, 13 Feb 2006 12:05:03 +0530
> >>
> >>Hello,
> >>
> >>I have installed ser-0.9.6 and I was able to make calls. But when I make
> >>the call logs using log() and xlog() functions, value of the timestamp
>that
> >>comes in the log is found to be different from the actual timestamp.
> >>
> >> I used (%Ts,%Tf) parameters in xlog() function to create the log. Is
> >>there any way I can log the call disconnect time?
> >>
> >>
> >>Thanks & Regards,
> >>
> >>"Research is what I'm doing when I don't know what I'm doing."
> >>
> >>Binu V B
> >>Trikon Electronics Pvt Ltd
> >>
> >>
> >>
> >
> >
> >>_______________________________________________
> >>Serusers mailing list
> >>serusers(a)lists.iptel.org
> >>http://lists.iptel.org/mailman/listinfo/serusers
> >
> >_________________________________________________________________
> >Spice up your IM conversations. New, colorful and animated emoticons. Get
> >chatting! http://server1.msn.co.in/SP05/emoticons/
>
>
_________________________________________________________________
Shah Rukh fan? Know all about the Baadshah of Bollywood. On MSN Search
http://server1.msn.co.in/profile/shahrukh.asp
Dear Greger V. Teigre,
Thanks for your quick reply.
I have read the sergettingstarted05.pdf (Based upon SER version 0.9.3) and tested the onr.cfg in ser-0.9.3.GettingStarted.1.3.tar.gz/ser-0.9.3/examples many times. SER sent out "408" to caller immediately after received "486" from ua3. I don't know how does ser's failure route deal with this kind of "cancel" when the invite has been forwarded. Any ideas will help me a lot. Thanks!
Here is the onr.cfg:
# ------------------ module loading ----------------------------------
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
# ----------------- setting module-specific parameters ---------------
# -- tm params --
# set time for which ser will be waiting for a final response;
# fr_inv_timer sets value for INVITE transactions, fr_timer
# for all others
modparam("tm", "fr_inv_timer", 15 )
modparam("tm", "fr_timer", 10 )
# ------------------------- request routing logic -------------------
# main routing logic
route{
# for testing purposes, simply okay all REGISTERs
if (method=="REGISTER") {
log("REGISTER");
sl_send_reply("200", "ok");
break;
};
# try these two destinations first in parallel; the second
# destination is targeted to sink port -- that will make ser
# wait until timer hits
seturi("sip:200@218.97.252.35:5060");
#append_branch("sip:300@218.97.252.36:5060");
# if we do not get a positive reply, continue at reply_route[1]
t_on_failure("1");
# forward the request to all destinations in destination set now
t_relay();
}
failure_route[1] {
#when caller cancel, terminate the call
if (t_check_status("487")) {
t_reply("487", "Request Terminated");
break;
};
# forwarding failed -- try again at another destination
append_branch("sip:300@218.97.252.44:5060");
log(1,"first redirection\n");
# if this alternative destination fails too, proceed to reply_route[2]
#t_on_failure("2");
t_relay();
}
Thanks in advance.
Have a good day!
Shuai
>The internal SER timer hits and the request times out (the request is not
>terminated).
>See SER-GettingStarted doc at ONsip.org for a full example of call features
>like forwarding.
>g-)
>----- Original Message -----
>From: "zhangshuai" <zhangshuai(a)goldentek.biz>
>To: "serusers" <serusers(a)lists.iptel.org>
>Cc: "wuyuan" <wuyuan(a)goldentek.biz>
>Sent: Friday, February 10, 2006 11:18 AM
>Subject: [Serusers] a question about "cancel" in forwarding scenario
>
>
>> Dear All,
>>
>>
>> I want to make use of avpops module to achieve forward on-no-reply. When
>> ua1 calls ua2 and ua2 is off-line, or busy, or doesn't answer the phone,
>> the invite should be forwarded to ua3 and ua3 begins ringing.
>>
>> In my tests, first, ua1 sends "cancel" when ua2 is ringing. Ua1 receives
>> "487 Request Terminated" from SER. Second, ua1 sends "cancel" when ua3 is
>> ringing. So, theoretically, ua1 should receive "487 Request Terminated"
>> after "200 canceling" from SER, right? But, ua1 received "408 Request
>> Timeout" instead. So strange. How come?
>>
>> I think something is wrong with my ser.cfg. Could anyone help me about
>> this? Thanks in advance.
>>
>> Here is my ser.cfg:
>>
>> # ------------------ module loading ----------------------------------
>>
>> loadmodule "/usr/local/lib/ser/modules/sl.so"
>> loadmodule "/usr/local/lib/ser/modules/tm.so"
>> loadmodule "/usr/local/lib/ser/modules/rr.so"
>> loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
>> loadmodule "/usr/local/lib/ser/modules/usrloc.so"
>> loadmodule "/usr/local/lib/ser/modules/registrar.so"
>> loadmodule "/usr/local/lib/ser/modules/textops.so"
>> loadmodule "/usr/local/lib/ser/modules/avp.so"
>> loadmodule "/usr/local/lib/ser/modules/acc.so"
>> loadmodule "/usr/local/lib/ser/modules/mysql.so"
>> loadmodule "/usr/local/lib/ser/modules/dbtext.so"
>> loadmodule "/usr/local/lib/ser/modules/avpops.so"
>> #loadmodule "/usr/local/lib/ser/modules/postgres.so"
>> #loadmodule "/usr/local/lib/ser/modules/flatstore.so"
>>
>> # Uncomment this if you want digest authentication
>> # mysql.so must be loaded !
>> loadmodule "/usr/local/lib/ser/modules/auth.so"
>> #loadmodule "/usr/local/lib/ser/modules/auth_db.so"
>>
>> loadmodule "/usr/local/lib/ser/modules/auth_radius.so"
>> loadmodule "/usr/local/lib/ser/modules/group_radius.so"
>> loadmodule "/usr/local/lib/ser/modules/uri_radius.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", 1)
>>
>> # -- 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)
>> modparam("tm", "fr_timer", 10 )
>> modparam("tm", "fr_inv_timer", 20)
>> modparam("tm", "noisy_ctimer", 1)
>>
>> modparam("auth_radius|uri_radius|group_radius", "radius_config",
>> "/usr/local/etc/radiusclient-ng/radiusclient.conf")
>>
>> modparam("avpops","avp_url","mysql://ser:heslo@localhost/ser")
>> modparam("avpops","avp_table","usr_preferences")
>> # ------------------------- 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");
>> break;
>> };
>> if (msg:len >= 2048 ) {
>> sl_send_reply("513", "Message too big");
>> break;
>> };
>>
>> if (!method=="REGISTER") record_route();
>>
>> if (loose_route()) {
>> t_relay();
>> break;
>> };
>>
>> if (method=="INVITE") {
>> lookup("location");
>> #if (!lookup("location")) {
>> # sl_send_reply("404", "Not Found");
>> # break;
>> #};
>> }
>>
>> if (method=="REGISTER") {
>> log("REGISTER\n");
>> if (!radius_www_authorize("localhost.localdomain")) {
>> www_challenge("localhost.localdomain", "0");
>> break;
>> };
>> save("location");
>> break;
>> };
>>
>> if (method=="INVITE") {
>> if (!radius_proxy_authorize("localhost.localdomain")) {
>> proxy_challenge("localhost.localdomain", "1");
>> break;
>> };
>> }
>>
>> # if we do not get a positive reply, continue at failure_route[1]
>> t_on_failure("1");
>> # forward the request to all destinations in destination set now
>> t_relay();
>>
>> #if (!t_relay()) {
>> # sl_reply_error();
>> #};
>> }
>>
>> failure_route[1] {
>>
>> #when caller cancel, terminate the call
>> if (t_check_status("487")) {
>> t_reply("487", "Request Terminated");
>> break;
>> };
>>
>> if ( ( avp_db_load("$ruri","s:redirect_on_failure") &&
>> avp_check("redirect_on_failure","eq/i:1"))) {
>> # User need to forward
>> log(1, "User wants redirection.\n");
>> if ( ( avp_db_load("$ruri","s:redirectnumber") &&
>> !avp_check("redirectnumber","re/^$"))) {
>> log(1,"first redirect\n");
>> #avp_print();
>> attr2uri("redirect number");
>> lookup("location");
>> append_branch();
>> #t_on_failure("2");
>> t_relay();
>> }
>> else {
>> t_reply("408", "TimeOut");
>> break;
>> };
>> }
>> else {
>> t_reply("404", "Not Found");
>> break;
>> };
>> }
>>
>>
>> _______________________________________________
>> Serusers mailing list
>> serusers(a)lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers
>>
>
>
= = = = = = = = = = = = = = = = = = = =
Hello all,
UAC -------------- SER ----------------- UAS
INVITE ---------->INVITE------------>INVITE
<----------TRYING
CANCEL------------>
<-----------TRYING
If UAC sends an INVITE and then sends a CANCEL, this CANCEL doesn't
stop SER.
SER is still processing the INVITE to UAS, why?
This is my ser.cfg:
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("16")) {
sl_send_reply("483","Too Many Hops");
};
if (msg:len > max_len) {
sl_send_reply("513", "Message too big");
break;
};
# 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);
break;
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
route(1);
break;
};
# 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
(uri=~"^sip:(.+@)?(10\.22\.1\.[0-9]+|(.+@)?(10\.22\.2\.[0-9]+|(.+\.)?T\.local)([:;\?].*)?$"){
# if
(uri=~"^sip:(.+@)?([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+|(.+\.)?T\.local)([:;\?].*)?$"){
if (uri=~"^sip:(.+@)?(.+)([:;\?].*)?$"){
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
# if ((!www_authorize("10.22.1.249", "subscriber"))) {
# www_challenge("10.22.1.249", "0");
# break;
# };
save("location");
break;
};
if (method=="BYE") {
t_relay();
sl_send_reply("200", "OK");
break;
};
if (method=="ACK") {
t_relay();
break;
};
if (method=="CANCEL") {
t_relay();
sl_send_reply("200", "OK");
break;
};
if ((method=="INVITE")&&(!lookup("location"))) {
exec_msg("printenv SRCIP; /bin/bash /usr/local/ser/sbin/sms");
sl_send_reply("100", "Trying");
exec_msg("sleep 10");
if (!lookup("location")){
sl_send_reply("100", "Trying");
exec_msg("sleep 10");
} else {
t_relay();
break;
}
if (!lookup("location")){
sl_send_reply("100", "Trying");
exec_msg("sleep 10");
} else {
t_relay();
break;
}
if (!lookup("location")){
sl_send_reply("100", "Trying");
exec_msg("sleep 10");
} else {
t_relay();
break;
}
if (!lookup("location")){
sl_send_reply("100", "Trying");
exec_msg("sleep 10");
} else {
t_relay();
break;
}
if (!lookup("location")){
sl_send_reply("100", "Trying");
exec_msg("sleep 10");
} else {
t_relay();
break;
}
if (!lookup("location")){
sl_send_reply("100", "Trying");
exec_msg("sleep 10");
} else {
t_relay();
break;
}
if (!lookup("location")){
sl_send_reply("404", "Not on-line");
break;
} else {
t_relay();
break;
}
};
if (method=="SUBSCRIBE") {
if (!t_newtran()) {
# log(1, "newtran error\n");
sl_reply_error();
};
handle_subscription("registrar");
break;
};
if (method=="PUBLISH") {
if (!t_newtran()) {
# log(1, "newtran error\n");
sl_reply_error();
};
handle_publish("registrar");
break;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
}
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();
};
}
Help me please.
Thank you.
>
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
Hello,
I have seen the archives of ser users. It says setflag() can be used to log the call.
I used that and I am getting a call log. But my problem is the timestamp . The disconnect time , that is, the timestamp when the method is BYE, seems to differ from the actual time by some seconds.
This is not always true. Still , I noticed this many a time. Has anyone experienced this?
Please help
Thanks & Regards,
"Research is what I'm doing when I don't know what I'm doing."
Binu V B
Trikon Electronics Pvt Ltd
Hello,
I am currently using SER 0.9.4 in a production environment. I've
patched it with various modules that OpenSER has, but would like to
convert over to the OpenSER project to be able to use a lot of the new
functionality. I've comiled the latest CVS source (the main release has
Solaris compile problems that have been fixed in CVS, hence the CVS
source).
The process doesn't look too difficult, a few things to be changed in
the config file, namely break and return. However, I'm not sure what's
the best way to convert the MySQL tables over.
My tables now are in the ser database instead of the openser. I
imagine I could duplicate the ser database into one called openser, and
perhaps run the openser_mysql reinstall script to upgrade.
I've looked and can't really find any documentation on converting over,
so if anyone that has done this conversion before has any ideas or what
to expect I'd appreciate it. My goal would be to have openser run on a
test server, but be able to access my production MySQL server, but using
a unique database name (openser instead of ser) so I can iron out the
config file, and everything else.
Thanks,
Brian
Hi,
earlier I had:
modparam("avpops","avp_aliases","ouri=i:704")
I did (before lcr processing):
avp_write("$ruri/username","$ouri");
[LCR processing]
(put back the original)
avp_pushto("$ruri/username","$ouri");
now I'm using:
avp_write("$oU","$avp(ouri)");
[LCR prcessing]
(try to write back the old username)
avp_pushto("$ru/username","$avp(ouri)");
This does not work...
I'm not quite sure if I'm using the new format correct.
br hw
--
Helge Waastad
Senior Konsulent
Systemavdelingen
Smartnet
Hi,
How can I change a caller number? I tried with avp but no success. There must be a simpler way! Is there a core command for something like that. I tried rewritehost & rewriteuser in the REGISTER part of the cfg, but nothing.
best regards, Zoran
Hello all,
UAC -------------- SER ----------------- UAS
INVITE ---------->INVITE------------>INVITE
<----------TRYING
CANCEL------------>
<-----------TRYING
If UAC sends an INVITE and then sends a CANCEL, this CANCEL doesn't stop
SER.
SER is still processing the INVITE to UAS, why?
Help me please.
Thank you.
Hi everyone:
I want to change the "From" field on the SIP header to
any value. For instance, I dont want to show the
caller ID on the end-point for security reasons. Then
I just want to show "restricted number" instead. Which
is the module that would alow me to do so???
Cheers,
/Carlos Loarca
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com