thank you so much .. I finally made it work after I rebuild everything
just to make sure my installation and compilation
is clean ..
With regards to call routing, can you give me an example where we can
communicate with other gatekeeper
thanks,
ed
At 09:13 PM 4/26/2005, Matt Schulte wrote:
This particular config (I don't
think?) won't log to a DB, additionally you need to setflag(1); somewhere
in your config. We tried to set on "outbound" only originally
and didn't have much luck so I set it near the top. To log to (my)sql you
will additionally need to set another flag and setup similar mod
params:
modparam("acc",
"db_url",
"mysql://ser:serro@blah.mysql.haha/dbname")
# Note flag 2, you will need to setflag(1); AND setflag(2);
modparam("acc", "db_flag", 2)
#Note this one logs all failed calls from the invite response, I find it
useful
modparam("acc", "failed_transactions", 1)
# In your route config use something like the following
# This is pretty much near the
top, while ACC won't log reg's or INFO anyway, I just thought it'd be a
little cleaner to have
...
if (!method == "REGISTER" || !method == "INFO" )
{
setflag(1);
setflag(2);
}
...
# Doing the above ensure
everything gets tagged including BYE's. A good reason why your BYE's may
not get
# tagged is possibly because record-route could be relaying the call
before the flag gets set, just a thought..
- -----Original Message-----
- From: Edgardo O. Gonzales II
[
mailto:edgardo.g@pacific.net.ph]
- Sent: Tuesday, April 26, 2005 1:29 AM
- To: Kofi Obiri-Yeboah
- Cc: serusers@lists.iptel.org
- Subject: RE: [Serusers] ACC into mysql
- Importance: High
- Thanks again for your help .. Here's my running ser.cfg
- Hope you can help me make my accounting work..
- thanks,
- ed
- ================================================================
- # ----------- global configuration parameters
------------------------
- #debug=3
- #fork=yes
- #log_stderror=no
- #debug=7
- #fork=no
- #log_stderror=yes
- check_via=no
- dns=no
- rev_dns=no
- #port=5060
- #children=4
- fifo="/tmp/ser_fifo"
- # ------------------ module loading
----------------------------------
- loadmodule "/usr/local/ser/lib/ser/modules/mysql.so"
- loadmodule "/usr/local/ser/lib/ser/modules/sl.so"
- loadmodule "/usr/local/ser/lib/ser/modules/tm.so"
- loadmodule "/usr/local/ser/lib/ser/modules/rr.so"
- loadmodule "/usr/local/ser/lib/ser/modules/maxfwd.so"
- loadmodule "/usr/local/ser/lib/ser/modules/usrloc.so"
- loadmodule
"/usr/local/ser/lib/ser/modules/registrar.so"
- loadmodule "/usr/local/ser/lib/ser/modules/auth.so"
- loadmodule "/usr/local/ser/lib/ser/modules/auth_db.so"
- loadmodule "/usr/local/ser/lib/ser/modules/acc.so"
- # ----------------- setting module-specific parameters
---------------
- # -- usrloc params --
- modparam("usrloc", "db_mode", 1)
- modparam("usrloc",
"db_url","mysql://ser:heslo@localhost/ser")
- # -- auth params --
- modparam("auth_db", "calculate_ha1", yes)
- modparam("auth_db", "password_column",
"password")
- # -- rr params --
- modparam("rr", "enable_full_lr", 1)
- # -- acc params --
- modparam("acc", "log_level", 1)
- modparam("acc", "log_flag", 1)
- modparam("acc", "log_missed_flag", 3)
- # ------------------------- request routing logic
-------------------
- alias=abc.com.ph
- # main routing logic
- route{
- if
(!mf_process_maxfwd_header("10")) {
-
sl_send_reply("483","Too Many Hops");
-
break;
- };
- if ( msg:len > max_len
) {
-
sl_send_reply("513", "Message too big");
-
break;
- };
- record_route();
- if (loose_route()) {
-
t_relay();
-
break;
- };
- if
(uri=~"abc.com.ph") {
-
if (method=="REGISTER") {
-
if (!www_authorize("abc.com.ph", "subscriber"))
{
-
www_challenge("abc.com.ph", "0");
-
break;
-
};
-
save("location");
-
break;
-
};
-
lookup("aliases");
-
if (!lookup("location")) {
-
sl_send_reply("404", "Not Found");
-
break;
-
};
- };
- if (!t_relay()) {
-
sl_reply_error();
- };
- }
- ================================================================
- At 10:55 AM 4/26/2005, Kofi Obiri-Yeboah wrote:
- I am assuming your question
is if the record_route() function is a parameter for accounting? If that
was your question then the answer is no. Generally you invoke
record_route() to ensure acl acceptance on a gateway (i.e. all calls
through that gateway)
- -----Original Message-----
- From: Edgardo O. Gonzales II [
mailto:edgardo.g@pacific.net.ph]
- Sent: Monday, April 25, 2005 6:22 PM
- To: Kofi Obiri-Yeboah
- Cc: serusers@lists.iptel.org
- Subject: RE: [Serusers] ACC into mysql
- Hi Kofi!
- got it.. thanks for immediate feedback .. however my accounting is
not working.
- any parameters to be added to make it work..
- I have the following info already on my ser.cfg
- modparam("acc", "log_level", 1)
- modparam("acc", "log_flag", 1)
- modparam("acc", "log_missed_flag", 3)
- record_route(); -> its this a parameter for accounting
- thanks,
- ed
- At 08:32 AM 4/26/2005, Kofi Obiri-Yeboah
wrote:
- I think the correct
modparam statement should read as follows:
- modparam("acc", "db_url",
"mysql://ser:heslo@localhost/ser")
-
- please note that "my" is required
in front of sql
-
- and not:
- modparam("acc", "db_url",
"sql://ser:heslo@localhost/ser")
- -----Original Message-----
- From: serusers-bounces@lists.iptel.org [
mailto:serusers-bounces@lists.iptel.org]On Behalf Of Edgardo O. Gonzales II
- Sent: Monday, April 25, 2005 5:20 PM
- To: serusers@lists.iptel.org
- Subject: Re: [Serusers] ACC into mysql
- Hi all!
- Im also receiving this error message.
- Can somebody help us on how to make accounting work using mysql.
- thanks,
- ed
- At 06:01 AM 4/26/2005, Leon Sun wrote:
- Hi,
- I am using 0.8.12 in Fedora 3. I tried to log account info into Mysql
followed instruction from manual. I found, first,
modparam("acc", "db_url",
"sql://ser:heslo@localhost/ser") coudnlt work at all in
ser.cfg. If I enabled in cfg file, it showed Starting ser: ERROR:
bad config file (1 errors)
- If I disabled it, SER worked fine but I couldnt see any record in acc
table.
- Would anyone suggest how to put call records into Mysql?
- Thank you.
- # ----------- 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
- debug=7
- 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/ser_fifo"
- # ------------------ module loading
----------------------------------
- # Uncomment this if you want to use SQL database
- loadmodule "/usr/lib/ser/modules/mysql.so"
- loadmodule "/usr/lib/ser/modules/acc.so"
- loadmodule "/usr/lib/ser/modules/sl.so"
- loadmodule "/usr/lib/ser/modules/tm.so"
- loadmodule "/usr/lib/ser/modules/rr.so"
- loadmodule "/usr/lib/ser/modules/maxfwd.so"
- loadmodule "/usr/lib/ser/modules/usrloc.so"
- loadmodule "/usr/lib/ser/modules/registrar.so"
- # Uncomment this if you want digest authentication
- # mysql.so must be loaded !
- loadmodule "/usr/lib/ser/modules/auth.so"
- loadmodule "/usr/lib/ser/modules/auth_db.so"
- # ----------------- setting module-specific parameters
---------------
- #modparam("acc", "db_url",
"sql://ser:heslo@localhost/ser")
- # -- 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)
- modparam("acc","log_level",1)
- modparam("acc","log_flag",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");
-
break;
- };
- 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
- record_route();
- # loose-route processing
- if (loose_route()) {
-
if (method=="BYE") {
-
setflag(1);
-
setflag(2);
-
}
-
t_relay();
-
break;
- };
- #labeled all transaction
for accounting
- setflag(1);
- setflag(2);
- if
(method=="CANCEL"){
-
t_relay();
-
};
- # (in case, it does not
work, use the following command
- # with proper names and
addresses in it)
- if (uri==myself) {
-
# This for PSTN destination
-
if (uri=~"^sip:1")
-
{
rewritehost("10.10.10.10");
-
forward(10.10.10.10,5060);
-
break;
-
}
-
if (method=="REGISTER") {
-
# Uncomment this if you want to use digest authentication
-
if (!www_authorize("sip.mycommunications.com",
"subscriber")) {
-
www_challenge("sip.mycommunications.com", "0");
-
break;
-
};
-
save("location");
-
break;
-
};
-
# native SIP destinations are handled using our USRLOC DB
-
if (!lookup("location")) {
-
sl_send_reply("404", "Not Found");
-
break;
-
};
- };
- # forward to current uri
now; use stateful forwarding; that
- # works reliably even if
we forward from TCP to UDP
- if (!t_relay()) {
-
sl_reply_error();
- };
- }
- _______________________________________________
- Serusers mailing list
- serusers@lists.iptel.org
-
http://lists.iptel.org/mailman/listinfo/serusers