Dear List,
I'm making a call to PSTN, it's okay i can talk with the other party via ATA, but suddenly i unplug power from it, and in accounting module it does not write line with BYE message so i cannot understand whether the call is finished or not. only INVITE and ACK are written, no BYE :(
This may be a security hole for customers, because they talk for a long time and they may unplug their units or cut power so it does not tell SER it's over. How i can prevent this, also what i need to add as a line for telling ACC module not to write calls from 833 to 833 into database, which are free SIP2SIP calls ?
Btw, a Postpaid Billing System is on the way for OpenSER built in PHP, later i will need OpenSER group's help to place it onto hosting site. Shortly it will have features:
* Nothing extra from package, default MySql Database which comes with OpenSER Release is being used,
* All routing is done via OpenSER's ser.cfg ,
* Initial Rate, Initial Time, Increment Rate, Increment Time will be user variable ,
* Account Creation/Deletion done in PHP ,
* Invoice Generation and CDR will include many variables ,
* Rating will be in PHP,
* And everything is totaly free :)
If you have ideas and/or suggestion please write back to me so i can work for it too.
Reqs: OpenSER & PHP & MySql & Apache
Thanks,
Ozan
debug=3
fork=yes
log_stderror=no
listen=212.XXX.104.XXX
port=5060
children=4
alias=212.XXX.104.XXX
dns=no
rev_dns=no
fifo="/tmp/openser_fifo"
fifo_db_url="mysql://openser:openserrw@localhost/openser"
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/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
loadmodule "/usr/local/lib/openser/modules/uri.so"
loadmodule "/usr/local/lib/openser/modules/uri_db.so"
loadmodule "/usr/local/lib/openser/modules/mediaproxy.so"
loadmodule "/usr/local/lib/openser/modules/nathelper.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
loadmodule "/usr/local/lib/openser/modules/domain.so"
loadmodule "/usr/local/lib/openser/modules/acc.so"
#modparam("auth_db|uri_db|usrloc", "db_url", "mysql://ser:heslo@localhost/ser")
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")
modparam("auth_db", "use_domain", 1)
modparam("domain", "db_mode", 1)
modparam("nathelper", "rtpproxy_disable", 1)
modparam("nathelper", "natping_interval", 0)
modparam("mediaproxy","natping_interval", 30)
modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")
modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/openser/sip-asymmetric-clients")
modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/openser/rtp-asymmetric-clients")
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "use_domain", 1)
modparam("registrar", "default_expires", 60)
modparam("registrar", "min_expires", 30)
modparam("registrar", "nat_flag", 6)
modparam("registrar", "use_domain", 1)
modparam("rr", "enable_full_lr", 1)
modparam("acc", "db_url", "mysql://openser:openserrw@localhost/openser")
modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)
modparam("acc", "db_flag", 1)
route {
# -----------------------------------------------------------------
# Sanity Check Section
# -----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483", "Too Many Hops");
break;
};
if (msg:len > max_len) {
sl_send_reply("513", "Message Overflow");
break;
};
# -----------------------------------------------------------------
# Record Route Section and Acc section
# -----------------------------------------------------------------
if (method=="INVITE" && client_nat_test("3")) {
# INSERT YOUR IP ADDRESS HERE
record_route_preset("212.XXX.104.XXX:5060;nat=yes");
} else if (method!="REGISTER") {
record_route();
setflag(1);
};
# -----------------------------------------------------------------
# Call Tear Down Section
# -----------------------------------------------------------------
if (method=="BYE" || method=="CANCEL") {
end_media_session();
};
# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
if (loose_route()) {
if (has_totag() && (method=="INVITE" || method=="ACK")) {
if (client_nat_test("3") || search("^Route:.*;nat=yes")) {
setflag(6);
use_media_proxy();
};
};
route(1);
break;
};
# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------
if (uri!=myself) {
route(1);
break;
};
if (uri==myself) {
if (method=="CANCEL") {
route(3);
break;
} else if (method=="INVITE") {
route(3);
break;
} else if (method=="REGISTER") {
route(2);
break;
};
lookup("aliases");
if (uri!=myself) {
route(1);
break;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
break;
};
};
route(1);
}
route[1] {
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------
t_on_reply("1");
if (!t_relay()) {
if (method=="INVITE" || method=="ACK") {
end_media_session();
};
sl_reply_error();
};
}
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# ----------------------------------------------------------------
if (!search("^Contact:\ +\*") && client_nat_test("7")) {
setflag(6);
fix_nated_register();
force_rport();
};
sl_send_reply("100", "Trying");
if (!www_authorize("","subscriber")) {
www_challenge("","0");
break;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
break;
};
consume_credentials();
if (!save("location")) {
sl_reply_error();
};
}
route[3] {
# -----------------------------------------------------------------
# CANCEL and INVITE Message Handler
# -----------------------------------------------------------------
if (client_nat_test("3")) {
setflag(7);
force_rport();
fix_nated_contact();
};
lookup("aliases");
if (uri!=myself) {
route(1);
break;
};
if (uri=~"^sip:0[0-9]*@*") {
rewritehost("212.XXX.59.XXX");
route(1);
break;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
break;
};
if (method=="CANCEL") {
route(1);
break;
};
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
break;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
break;
};
consume_credentials();
if (isflagset(6) || isflagset(7)) {
use_media_proxy();
};
route(1);
}
onreply_route[1] {
if ((isflagset(6) || isflagset(7)) && (status=~"(180)|(183)|2[0-9][0-9]")) {
if (!search("^Content-Length:\ +0")) {
use_media_proxy();
};
};
if (client_nat_test("1")) {
fix_nated_contact();
};
}
Hi guys!
I want to try out the ser and kphone gsm authentication proof of concept in cvs.
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/ser/gsm_auth/
However the link to the kphone source with gsm authentication can no
longe be found.
http://www.iptel.org/~dcm/ser-gsm/kphone-3.11.1-gsm.tgz
Maybe someone here was able to have a copy of the file. Could you
kindly send me a copy.
I tried using kphone 3.11 but itself even without the patch can't
register. It my traces it seems that kphone listens on port 5060 but
sends request on another port. Thus when replies are sent on the port
used in sending, kphone wasn't able to recieve it.
Btw, do you guys know where I could get a decent getting started guide
on ser with radius? The onsip manuals have missing pages regarding
integrating radius.
Thanks in advance for whatever information or ideas!
_jeff
I'm a fresher and I was wondering which one the mediaproxy module in SER adopt to realize NAT traversal,proxy or full proxy?Thanks!
---------------------------------
DO YOU YAHOO!?
雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱
Is there a way to add prefixes to outgoing numbers before they get send to
the rewritehost?
I need to take a number like 800-555-1212 and change it into 3338005551212
thanks
Andrew
Thanks, i am receiving some starts and stops.
Now, is it possible to receive one start and one stop when calling sip to
sip, sip to pstn and pstn to sip??
I am not getting the start when calling sip to pstn, i am stuck and
frustrated.
Maxi.
>From: Jan Janak <jan(a)iptel.org>
>To: Maximo Marin <maxi_tech(a)hotmail.com>
>CC: serusers(a)lists.iptel.org
>Subject: Re: [Serusers] Module ACC_RADIUS problem
>Date: Fri, 8 Jul 2005 21:12:47 +0200
>
>On 08-07-2005 10:30, Maximo Marin wrote:
> > Hello everyone, i am running, ser 0.9.3 on debian stable and get this
>error:
> >
> > Jul 8 10:21:41 sip_server ser: set_mod_param_regex: No module matching
> > acc_radius found |
> > Jul 8 10:21:41 sip_server ser: parse error (55,19-20): Can't set module
> > parameter
> >
> > I have this in line 55 of my ser.cfg
> >
> > modparam("acc_radius", "radius_flag", 1)
>
> Please use modparam("acc", "radius_flag", 1) instead. The real name of
> the module is acc, just the file is named acc_radius.
>
> Jan.
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
My classkit.so is default located in /usr/lib/php/modules
I'm running Fedora Core 4, Apache 2.0.54, PHP 5.0.4.
G.
-----Original Message-----
From: GeoTel [mailto:geotelcom@yahoo.fr]
Sent: 12 July 2005 06:51
To: Gareth C. Fowler
Subject: Re: RE: [Serusers] Try install Classkit extension
Thanks Gareth but I did it as I say in php.ini.
Could you check for me where is your "classkit.so" installed ?
My is in
'/var/tmp/pear-build-root/install-classkit-0.4//usr/local/lib/php/extensions
/no-debug-non-zts-20041030/classkit.so' A little bid strange but no error.
----------------------------------------------------------------------------
--
Hi, I had the same problem. Check your php.ini config and add the
following:
extension=classkit.so
It worked for me!
G.
Original Message-----
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org]On
Behalf Of GeoTel
Sent: 12 July 2005 06:29
To: serusers(a)lists.iptel.org
Subject: [Serusers] Try install Classkit extension
Dear team,
Still having the same problem with classkit, same error:
"Function aggregate_methods() doesn't exists. "Try" install Classkit
extension...."
yet, pear install OK
Installing
'/var/tmp/pear-build-root/install-classkit-0.4//usr/local/lib/php/extensions
/no-debug-non-zts-20041030/classkit.so'
install ok: classkit 0.4
and "php.ini"
......................................
; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/local/lib/php/extensions/"
extension=classkit.so
Any info,
Thanks
George
----------------------------------------------------------------------------
--
Dear team,
Still having the same problem with classkit, same error:
"Function aggregate_methods() doesn't exists. "Try" install Classkit extension...."
yet, pear install OK
Installing '/var/tmp/pear-build-root/install-classkit-0.4//usr/local/lib/php/extensions/no-debug-non-zts-20041030/classkit.so'
install ok: classkit 0.4
and "php.ini"
.....................................
; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/local/lib/php/extensions/"
extension=classkit.so
Any info,
Thanks
George
I know there was some discussion in the recently about using
session-timers as a method for doing prepaid. I'm just wondering if
anyone has actually played around with this, and what your experiences
were? My PSTN Gateways support session-timers, so I was thinking about
trying this.
- Daryl
Hello,
I'm using a Zyxel 2000W Wireless sip phone behind NAT (cisco 1721) which
registers to ser 0.8.14 using rtpproxy. Outbound calls work flawlessly,
but inbound calls are terminated after 30 seconds.
Do you have any hints why this happens?
thanks
--
Luca Corti
PGP Key ID 1F38C091