Hi All,
I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003.
I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong.
Regards, Ruchir
Hi Ruchir,
There are two aspects here: 1) making acc to work - setting the flags and getting the ACC records 2) enabling multi-leg account and putting more info into the accounted info
First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc?
Regards, Bogdan
Ruchir Lists wrote:
Hi All,
I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003.
I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong.
Regards, Ruchir
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users
I configured simple acc module to store records in acc table, set proper flags. Then tried to call number directly(not with forwarding) but still I get only BYE record. Any suggestion?
On Wed, Jun 11, 2008 at 2:43 PM, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi Ruchir,
There are two aspects here:
- making acc to work - setting the flags and getting the ACC records
- enabling multi-leg account and putting more info into the accounted
info
First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc?
Regards, Bogdan
Ruchir Lists wrote:
Hi All,
I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003.
I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong.
Regards, Ruchir
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users
Be sure you set the accounting flag before any t_relay() or t_newtran() for the INVITE. To be sure, try to use log/xlog to put some debugs in your script and check if the flag is really set before t_relay().
Regards, Bogdan
Ruchir Lists wrote:
I configured simple acc module to store records in acc table, set proper flags. Then tried to call number directly(not with forwarding) but still I get only BYE record. Any suggestion?
On Wed, Jun 11, 2008 at 2:43 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Hi Ruchir, There are two aspects here: 1) making acc to work - setting the flags and getting the ACC records 2) enabling multi-leg account and putting more info into the accounted info First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc? Regards, Bogdan Ruchir Lists wrote: Hi All, I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003. I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong. Regards, Ruchir ------------------------------------------------------------------------ _______________________________________________ Users mailing list Users@lists.openser.org <mailto:Users@lists.openser.org> http://lists.openser.org/cgi-bin/mailman/listinfo/users
I had put setflag after t_newtran() previously. Now I moved it before t_newtran() and got records for INVITE, ACK & BYE for normal call perfectly. :) Then I tested for call forwarding scenario. In this case forwarding is set as below: 90004 -> 90001 -> 90003.
I called 90004 from 90002 and I got 7 records in acc table. 3 INVITEs, 3 BYEs and only single ACK. Shouldn't it log 3 ACK messages?
On Wed, Jun 11, 2008 at 4:32 PM, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Be sure you set the accounting flag before any t_relay() or t_newtran() for the INVITE. To be sure, try to use log/xlog to put some debugs in your script and check if the flag is really set before t_relay().
Regards, Bogdan
Ruchir Lists wrote:
I configured simple acc module to store records in acc table, set proper flags. Then tried to call number directly(not with forwarding) but still I get only BYE record. Any suggestion?
On Wed, Jun 11, 2008 at 2:43 PM, Bogdan-Andrei Iancu < bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Hi Ruchir,
There are two aspects here: 1) making acc to work - setting the flags and getting the ACC records 2) enabling multi-leg account and putting more info into the accounted info
First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc?
Regards, Bogdan
Ruchir Lists wrote:
Hi All, I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003. I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong. Regards, Ruchir
_______________________________________________ Users mailing list Users@lists.openser.org <mailto:Users@lists.openser.org> http://lists.openser.org/cgi-bin/mailman/listinfo/users
Perfect !
regarding multi-leg calls - first of all, there is no need to enabled in for ACK and BYEs - make no sense. usually you want to see all the legs of the call for INVITE.
Now, about how many records you get - depends on how many AVPs (used of multi-leg acc) you set from the script. If you 3 INVITEs, means you add 3 values for at least of the AVPs .
Regards, Bogdan
Ruchir wrote:
I had put setflag after t_newtran() previously. Now I moved it before t_newtran() and got records for INVITE, ACK & BYE for normal call perfectly. :) Then I tested for call forwarding scenario. In this case forwarding is set as below: 90004 -> 90001 -> 90003.
I called 90004 from 90002 and I got 7 records in acc table. 3 INVITEs, 3 BYEs and only single ACK. Shouldn't it log 3 ACK messages?
On Wed, Jun 11, 2008 at 4:32 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Be sure you set the accounting flag before any t_relay() or t_newtran() for the INVITE. To be sure, try to use log/xlog to put some debugs in your script and check if the flag is really set before t_relay(). Regards, Bogdan Ruchir Lists wrote: I configured simple acc module to store records in acc table, set proper flags. Then tried to call number directly(not with forwarding) but still I get only BYE record. Any suggestion? On Wed, Jun 11, 2008 at 2:43 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>> wrote: Hi Ruchir, There are two aspects here: 1) making acc to work - setting the flags and getting the ACC records 2) enabling multi-leg account and putting more info into the accounted info First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc? Regards, Bogdan Ruchir Lists wrote: Hi All, I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003. I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong. Regards, Ruchir ------------------------------------------------------------------------ _______________________________________________ Users mailing list Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>> http://lists.openser.org/cgi-bin/mailman/listinfo/users
I was thinking it should generate 9 records so it'll show up as 3 different calls so we can show CDR properly in web interface as well as calculate billing for users as the user who forwarded the call should be charged for the call. Also if we get INVITE only then we may not get accurate duration of call as actual duration starts when callee accepts the call and ACK is received. Is this scenario wrong?
On Wed, Jun 11, 2008 at 5:19 PM, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Perfect !
regarding multi-leg calls - first of all, there is no need to enabled in for ACK and BYEs - make no sense. usually you want to see all the legs of the call for INVITE.
Now, about how many records you get - depends on how many AVPs (used of multi-leg acc) you set from the script. If you 3 INVITEs, means you add 3 values for at least of the AVPs .
Regards, Bogdan
Ruchir wrote:
I had put setflag after t_newtran() previously. Now I moved it before t_newtran() and got records for INVITE, ACK & BYE for normal call perfectly. :) Then I tested for call forwarding scenario. In this case forwarding is set as below: 90004 -> 90001 -> 90003.
I called 90004 from 90002 and I got 7 records in acc table. 3 INVITEs, 3 BYEs and only single ACK. Shouldn't it log 3 ACK messages?
On Wed, Jun 11, 2008 at 4:32 PM, Bogdan-Andrei Iancu < bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Be sure you set the accounting flag before any t_relay() or t_newtran() for the INVITE. To be sure, try to use log/xlog to put some debugs in your script and check if the flag is really set before t_relay().
Regards, Bogdan
Ruchir Lists wrote:
I configured simple acc module to store records in acc table, set proper flags. Then tried to call number directly(not with forwarding) but still I get only BYE record. Any suggestion? On Wed, Jun 11, 2008 at 2:43 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>> wrote: Hi Ruchir, There are two aspects here: 1) making acc to work - setting the flags and getting the ACC records 2) enabling multi-leg account and putting more info into the accounted info First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc? Regards, Bogdan Ruchir Lists wrote: Hi All, I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003. I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong. Regards, Ruchir
_______________________________________________ Users mailing list Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>> http://lists.openser.org/cgi-bin/mailman/listinfo/users
Well, depends of how you process the ACC infor for building CDRs - that was more an opinion/recommendation than a must :).
Regarding the ACK and call duration -- actually the media starts to flow immediately after the 200OK (when the INVITE log is generated) - most of the devices wait for ACK as confirmation that everything is ok and not for starting the call.
Regards, Bogdan
Ruchir wrote:
I was thinking it should generate 9 records so it'll show up as 3 different calls so we can show CDR properly in web interface as well as calculate billing for users as the user who forwarded the call should be charged for the call. Also if we get INVITE only then we may not get accurate duration of call as actual duration starts when callee accepts the call and ACK is received. Is this scenario wrong?
On Wed, Jun 11, 2008 at 5:19 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Perfect ! regarding multi-leg calls - first of all, there is no need to enabled in for ACK and BYEs - make no sense. usually you want to see all the legs of the call for INVITE. Now, about how many records you get - depends on how many AVPs (used of multi-leg acc) you set from the script. If you 3 INVITEs, means you add 3 values for at least of the AVPs . Regards, Bogdan Ruchir wrote: I had put setflag after t_newtran() previously. Now I moved it before t_newtran() and got records for INVITE, ACK & BYE for normal call perfectly. :) Then I tested for call forwarding scenario. In this case forwarding is set as below: 90004 -> 90001 -> 90003. I called 90004 from 90002 and I got 7 records in acc table. 3 INVITEs, 3 BYEs and only single ACK. Shouldn't it log 3 ACK messages? On Wed, Jun 11, 2008 at 4:32 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>> wrote: Be sure you set the accounting flag before any t_relay() or t_newtran() for the INVITE. To be sure, try to use log/xlog to put some debugs in your script and check if the flag is really set before t_relay(). Regards, Bogdan Ruchir Lists wrote: I configured simple acc module to store records in acc table, set proper flags. Then tried to call number directly(not with forwarding) but still I get only BYE record. Any suggestion? On Wed, Jun 11, 2008 at 2:43 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>>> wrote: Hi Ruchir, There are two aspects here: 1) making acc to work - setting the flags and getting the ACC records 2) enabling multi-leg account and putting more info into the accounted info First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc? Regards, Bogdan Ruchir Lists wrote: Hi All, I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003. I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong. Regards, Ruchir ------------------------------------------------------------------------ _______________________________________________ Users mailing list Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>>> http://lists.openser.org/cgi-bin/mailman/listinfo/users
Yeah I just noticed that INVITE & BYE time difference gives accurate duration of the call. We can drop using ACK now :) Are there any standards for storing records for multi-leg accounting? I tried to find it but didn't get success. Can you please suggest which way we should store CDR to identify the records properly?
On Wed, Jun 11, 2008 at 8:10 PM, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Well, depends of how you process the ACC infor for building CDRs - that was more an opinion/recommendation than a must :).
Regarding the ACK and call duration -- actually the media starts to flow immediately after the 200OK (when the INVITE log is generated) - most of the devices wait for ACK as confirmation that everything is ok and not for starting the call.
Regards, Bogdan
Ruchir wrote:
I was thinking it should generate 9 records so it'll show up as 3 different calls so we can show CDR properly in web interface as well as calculate billing for users as the user who forwarded the call should be charged for the call. Also if we get INVITE only then we may not get accurate duration of call as actual duration starts when callee accepts the call and ACK is received. Is this scenario wrong?
On Wed, Jun 11, 2008 at 5:19 PM, Bogdan-Andrei Iancu < bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Perfect !
regarding multi-leg calls - first of all, there is no need to enabled in for ACK and BYEs - make no sense. usually you want to see all the legs of the call for INVITE.
Now, about how many records you get - depends on how many AVPs (used of multi-leg acc) you set from the script. If you 3 INVITEs, means you add 3 values for at least of the AVPs .
Regards, Bogdan
Ruchir wrote:
I had put setflag after t_newtran() previously. Now I moved it before t_newtran() and got records for INVITE, ACK & BYE for normal call perfectly. :) Then I tested for call forwarding scenario. In this case forwarding is set as below: 90004 -> 90001 -> 90003. I called 90004 from 90002 and I got 7 records in acc table. 3 INVITEs, 3 BYEs and only single ACK. Shouldn't it log 3 ACK messages? On Wed, Jun 11, 2008 at 4:32 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>> wrote: Be sure you set the accounting flag before any t_relay() or t_newtran() for the INVITE. To be sure, try to use log/xlog to put some debugs in your script and check if the flag is really set before t_relay(). Regards, Bogdan Ruchir Lists wrote: I configured simple acc module to store records in acc table, set proper flags. Then tried to call number directly(not with forwarding) but still I get only BYE record. Any suggestion? On Wed, Jun 11, 2008 at 2:43 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>>> wrote: Hi Ruchir, There are two aspects here: 1) making acc to work - setting the flags and getting the ACC records 2) enabling multi-leg account and putting more info into the accounted info First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc? Regards, Bogdan Ruchir Lists wrote: Hi All, I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003. I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong. Regards, Ruchir
_______________________________________________ Users mailing list Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>>>
Hi Ruchir,
with multi-leg accounting, you can match all the records belonging to the same call by using call_id, to_tag and from_tag. How you format and store the CDRS is your choice :).
Regards, Bogdan
Ruchir wrote:
Yeah I just noticed that INVITE & BYE time difference gives accurate duration of the call. We can drop using ACK now :) Are there any standards for storing records for multi-leg accounting? I tried to find it but didn't get success. Can you please suggest which way we should store CDR to identify the records properly?
On Wed, Jun 11, 2008 at 8:10 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Well, depends of how you process the ACC infor for building CDRs - that was more an opinion/recommendation than a must :). Regarding the ACK and call duration -- actually the media starts to flow immediately after the 200OK (when the INVITE log is generated) - most of the devices wait for ACK as confirmation that everything is ok and not for starting the call. Regards, Bogdan Ruchir wrote: I was thinking it should generate 9 records so it'll show up as 3 different calls so we can show CDR properly in web interface as well as calculate billing for users as the user who forwarded the call should be charged for the call. Also if we get INVITE only then we may not get accurate duration of call as actual duration starts when callee accepts the call and ACK is received. Is this scenario wrong? On Wed, Jun 11, 2008 at 5:19 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>> wrote: Perfect ! regarding multi-leg calls - first of all, there is no need to enabled in for ACK and BYEs - make no sense. usually you want to see all the legs of the call for INVITE. Now, about how many records you get - depends on how many AVPs (used of multi-leg acc) you set from the script. If you 3 INVITEs, means you add 3 values for at least of the AVPs . Regards, Bogdan Ruchir wrote: I had put setflag after t_newtran() previously. Now I moved it before t_newtran() and got records for INVITE, ACK & BYE for normal call perfectly. :) Then I tested for call forwarding scenario. In this case forwarding is set as below: 90004 -> 90001 -> 90003. I called 90004 from 90002 and I got 7 records in acc table. 3 INVITEs, 3 BYEs and only single ACK. Shouldn't it log 3 ACK messages? On Wed, Jun 11, 2008 at 4:32 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>>> wrote: Be sure you set the accounting flag before any t_relay() or t_newtran() for the INVITE. To be sure, try to use log/xlog to put some debugs in your script and check if the flag is really set before t_relay(). Regards, Bogdan Ruchir Lists wrote: I configured simple acc module to store records in acc table, set proper flags. Then tried to call number directly(not with forwarding) but still I get only BYE record. Any suggestion? On Wed, Jun 11, 2008 at 2:43 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>>>> wrote: Hi Ruchir, There are two aspects here: 1) making acc to work - setting the flags and getting the ACC records 2) enabling multi-leg account and putting more info into the accounted info First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc? Regards, Bogdan Ruchir Lists wrote: Hi All, I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003. I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong. Regards, Ruchir ------------------------------------------------------------------------ _______________________________________________ Users mailing list Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>>>> http://lists.openser.org/cgi-bin/mailman/listinfo/users
Any suggestions from experts? :)
On Thu, Jun 12, 2008 at 1:27 PM, Bogdan-Andrei Iancu bogdan@voice-system.ro wrote:
Hi Ruchir,
with multi-leg accounting, you can match all the records belonging to the same call by using call_id, to_tag and from_tag. How you format and store the CDRS is your choice :).
Regards, Bogdan
Ruchir wrote:
Yeah I just noticed that INVITE & BYE time difference gives accurate duration of the call. We can drop using ACK now :) Are there any standards for storing records for multi-leg accounting? I tried to find it but didn't get success. Can you please suggest which way we should store CDR to identify the records properly?
On Wed, Jun 11, 2008 at 8:10 PM, Bogdan-Andrei Iancu < bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Well, depends of how you process the ACC infor for building CDRs - that was more an opinion/recommendation than a must :).
Regarding the ACK and call duration -- actually the media starts to flow immediately after the 200OK (when the INVITE log is generated) - most of the devices wait for ACK as confirmation that everything is ok and not for starting the call.
Regards, Bogdan
Ruchir wrote:
I was thinking it should generate 9 records so it'll show up as 3 different calls so we can show CDR properly in web interface as well as calculate billing for users as the user who forwarded the call should be charged for the call. Also if we get INVITE only then we may not get accurate duration of call as actual duration starts when callee accepts the call and ACK is received. Is this scenario wrong? On Wed, Jun 11, 2008 at 5:19 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>> wrote: Perfect ! regarding multi-leg calls - first of all, there is no need to enabled in for ACK and BYEs - make no sense. usually you want to see all the legs of the call for INVITE. Now, about how many records you get - depends on how many AVPs (used of multi-leg acc) you set from the script. If you 3 INVITEs, means you add 3 values for at least of the AVPs . Regards, Bogdan Ruchir wrote: I had put setflag after t_newtran() previously. Now I moved it before t_newtran() and got records for INVITE, ACK & BYE for normal call perfectly. :) Then I tested for call forwarding scenario. In this case forwarding is set as below: 90004 -> 90001 -> 90003. I called 90004 from 90002 and I got 7 records in acc table. 3 INVITEs, 3 BYEs and only single ACK. Shouldn't it log 3 ACK messages? On Wed, Jun 11, 2008 at 4:32 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>>> wrote: Be sure you set the accounting flag before any t_relay() or t_newtran() for the INVITE. To be sure, try to use log/xlog to put some debugs in your script and check if the flag is really set before t_relay(). Regards, Bogdan Ruchir Lists wrote: I configured simple acc module to store records in acc table, set proper flags. Then tried to call number directly(not with forwarding) but still I get only BYE record. Any suggestion? On Wed, Jun 11, 2008 at 2:43 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>>>> wrote: Hi Ruchir, There are two aspects here: 1) making acc to work - setting the flags and getting the ACC records 2) enabling multi-leg account and putting more info into the accounted info First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc? Regards, Bogdan Ruchir Lists wrote: Hi All, I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003. I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong. Regards, Ruchir
Users mailing list Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>>>>
Can anyone give me suggestion for storing and manipulating multi-leg accounting records?
On Thu, Jun 12, 2008 at 2:03 PM, Ruchir ruchir.lists@gmail.com wrote:
Any suggestions from experts? :)
On Thu, Jun 12, 2008 at 1:27 PM, Bogdan-Andrei Iancu < bogdan@voice-system.ro> wrote:
Hi Ruchir,
with multi-leg accounting, you can match all the records belonging to the same call by using call_id, to_tag and from_tag. How you format and store the CDRS is your choice :).
Regards, Bogdan
Ruchir wrote:
Yeah I just noticed that INVITE & BYE time difference gives accurate duration of the call. We can drop using ACK now :) Are there any standards for storing records for multi-leg accounting? I tried to find it but didn't get success. Can you please suggest which way we should store CDR to identify the records properly?
On Wed, Jun 11, 2008 at 8:10 PM, Bogdan-Andrei Iancu < bogdan@voice-system.ro mailto:bogdan@voice-system.ro> wrote:
Well, depends of how you process the ACC infor for building CDRs - that was more an opinion/recommendation than a must :).
Regarding the ACK and call duration -- actually the media starts to flow immediately after the 200OK (when the INVITE log is generated) - most of the devices wait for ACK as confirmation that everything is ok and not for starting the call.
Regards, Bogdan
Ruchir wrote:
I was thinking it should generate 9 records so it'll show up as 3 different calls so we can show CDR properly in web interface as well as calculate billing for users as the user who forwarded the call should be charged for the call. Also if we get INVITE only then we may not get accurate duration of call as actual duration starts when callee accepts the call and ACK is received. Is this scenario wrong? On Wed, Jun 11, 2008 at 5:19 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>> wrote: Perfect ! regarding multi-leg calls - first of all, there is no need to enabled in for ACK and BYEs - make no sense. usually you want to see all the legs of the call for INVITE. Now, about how many records you get - depends on how many AVPs (used of multi-leg acc) you set from the script. If you 3 INVITEs, means you add 3 values for at least of the AVPs . Regards, Bogdan Ruchir wrote: I had put setflag after t_newtran() previously. Now I moved it before t_newtran() and got records for INVITE, ACK & BYE for normal call perfectly. :) Then I tested for call forwarding scenario. In this case forwarding is set as below: 90004 -> 90001 -> 90003. I called 90004 from 90002 and I got 7 records in acc table. 3 INVITEs, 3 BYEs and only single ACK. Shouldn't it log 3 ACK messages? On Wed, Jun 11, 2008 at 4:32 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>>> wrote: Be sure you set the accounting flag before any t_relay() or t_newtran() for the INVITE. To be sure, try to use log/xlog to put some debugs in your script and check if the flag is really set before t_relay(). Regards, Bogdan Ruchir Lists wrote: I configured simple acc module to store records in acc table, set proper flags. Then tried to call number directly(not with forwarding) but still I get only BYE record. Any suggestion? On Wed, Jun 11, 2008 at 2:43 PM, Bogdan-Andrei Iancu <bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro> <mailto:bogdan@voice-system.ro <mailto:bogdan@voice-system.ro>>>>> wrote: Hi Ruchir, There are two aspects here: 1) making acc to work - setting the flags and getting the ACC records 2) enabling multi-leg account and putting more info into the accounted info First you should to solve (1) - just getting a simple ACC record for INVITEs and BYEs (no multi leg accounting) - it this working for you or you get only BYE acc? Regards, Bogdan Ruchir Lists wrote: Hi All, I'm trying to configure OpenSER with multi-leg accounting. I'm using OpenSER 1.2 & radius. I'm using acc_radius table for writing cdr records. I've searched through several articles and mailing list posts about configuring multi-leg accounting and everywhere they talk about setting up multi-leg-info parameter of acc module to configure leg source & destination and setting up accounting flag. But this is not working for me. I get only BYE record in table if I use this way to write multiple records for one call in call forwarding scenario. I managed to get multiple records by calling acc_rad_request on INVITE, ACK, BYE & CANCEL. For instance, I have 4 users; 90001, 90002, 90003, 90004. The call forwarding is setup as below: 90004 -> 90001 -> 90003. I dial 90004 from 90002 user and it forwards the call to 90001 & then 90003 and they're connected properlry. However I don't get leg source/destination properly and also I get 7-8 bye records for this call. Can anyone guide me in right direction if I'm doing anything wrong. Regards, Ruchir
Users mailing list Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org> <mailto:Users@lists.openser.org <mailto:Users@lists.openser.org>>>>