Hi, Jayesh!

First of all, there are not so many changes between the 1.7.1 and trunk for the accounting module. Only this new parameter was added as far as I know, and it should be pretty stable. If you do want to use the module from trunk, you can simply copy it in your OpenSIPS 1.7.1 folder, and apply the patch I've attached in order to compile properly.

If you are using the automatic CDR accounting, then the scenario you described above can not be implemented. The accounting backend is only set at the initial invite.

Regards,

--
Ra(zvan Crainea
OpenSIPS Developer


On 01/18/2012 04:53 PM, Jayesh Nambiar wrote:
Hi Razvan,
Not a very relevant question to ask, but is it possible to disable accounting when dialog times out?? So that no record is entered in the DB because of dialog timeout. I can probably setflag for syslog accounting where such calls will also get logged !!

--- Jayesh

On Wed, Jan 18, 2012 at 7:14 PM, Jayesh Nambiar <[email protected] <mailto:[email protected]>> wrote:

    Hi Razvan,
    Thanks for your reply. Is it possible to use only the acc module
    of trunk version with the 1.7.1 stable version or do I have to
    download and configure the entire latest trunk version of opensips.
    I intend to use this in production setup, so just a little more
    worried about the reliability.

    Thanks again,

    --- Jayesh


        Hello, Jayesh!

        You can not achieve this scenario in OpenSIPS 1.7.1, but you
        can wit the
        acc module from trunk version. There you have a new parameter,
        db_extra_bye[1], that can evaluate the pseudo variables after
        the BYE
        message is received.

        An easier way to implement this, is to initialize a dlg_val
        with the
        value 1, and if you receive a BYE message, change it to 0. If
        you don't
        receive any BYE and a timeout is triggered, then the value
        will remain 1
        and that is what you will see in the database. Otherwise, for
        a normal
        hang up, you should set it to 0 and this will  reflect in the
        DB. But
        once again, this will only work with the trunk version, adding the
        dlg_val to the db_extra_bye parameter.

        [1]
        http://www.opensips.org/html/docs/modules/devel/acc.html#id293815

        Regards,

        --
        Ra(zvan Crainea
        OpenSIPS Developer



        On 01/18/2012 01:35 PM, Jayesh Nambiar wrote:
        > Hi,
        > I am using CDR accounting with mysql in my script. I want a
        way to
        > know if the CDR record is because of a dialog_timeout. Is
        there some
        > standard way of notifying it from the script. I was thinking of
        > something like this:
        > I have an extra column "timeout" in  my acc table which is
        inserted
        > using db_extra parameter $avp(timeout) which is initialized
        to 0. If I
        > know somewhere in the script that dialog has timed out, I
        set this
        > $avp(timeout) to 1, so that the record inserted will have
        timeout
        > column value as 1 and it will be easily identifiable.
        >
        > I understand that AVPs are not dialog persistent, but
        probably I can
        > use some dlg_val variables. Also I dont find any function that
        > indicates the dialog_timeout event. Another idea was to set the
        > bye_on_timeout flag by calling create_dialog("B") and in
        local_route
        > catch the BYE request and set the dlg_val variables there.
        >
        > Wanted to know if any of these ideas can work or is there
        some more
        > standard way of doing it.
        >
        > --- Jayesh
        >
        >



Index: modules/acc/acc.c
===================================================================
--- modules/acc/acc.c	(revision 8673)
+++ modules/acc/acc.c	(working copy)
@@ -1490,7 +1490,7 @@
 	dlg = dlg_api.get_dlg();
 	if (!dlg) {
 		/* if the dialog doesn't exist we try to create it */
-		if ( dlg_api.create_dlg(req,0) < 0) {
+		if ( dlg_api.create_dlg(req) < 0) {
 			LM_ERR("error creating new dialog\n");
 			return -1;
 		}
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to