Hello,
i'm testing dialog module and trying to account died sessions. I've problem or i've misunderstood the way how to account it. If I send dlg_end_dlg, a dialog session is ended and BYE is sended to both sides. But if the BYE is not confirmed the acc module will never log this. Is there any way to immidiatly log BYE asap dialog ends?
thanks for any suggestion
MV
Hello,
acc module has the functionality of logging failed transactions:
http://www.kamailio.org/docs/modules/1.4.x/acc.html#id2468153
Cheers, Daniel
On 10/16/08 11:46, Martin Vít wrote:
Hello,
i'm testing dialog module and trying to account died sessions. I've problem or i've misunderstood the way how to account it. If I send dlg_end_dlg, a dialog session is ended and BYE is sended to both sides. But if the BYE is not confirmed the acc module will never log this. Is there any way to immidiatly log BYE asap dialog ends?
thanks for any suggestion
MV
I've tryed modparam("acc", "failed_transaction_flag", 4) and set the flag in route{ }. I've debug msgs in every route branch but it seems that the BYE sended by the dialog module does not traverse it.
For make me sure I've checked some failed transactions (not sended by dialog module) and it is logged properly.
Daniel-Constantin Mierla napsal(a):
Hello,
acc module has the functionality of logging failed transactions:
http://www.kamailio.org/docs/modules/1.4.x/acc.html#id2468153
Cheers, Daniel
On 10/16/08 11:46, Martin Vít wrote:
Hello,
i'm testing dialog module and trying to account died sessions. I've problem or i've misunderstood the way how to account it. If I send dlg_end_dlg, a dialog session is ended and BYE is sended to both sides. But if the BYE is not confirmed the acc module will never log this. Is there any way to immidiatly log BYE asap dialog ends?
thanks for any suggestion
MV
On 10/16/08 13:08, Martin Vít wrote:
I've tryed modparam("acc", "failed_transaction_flag", 4) and set the flag in route{ }. I've debug msgs in every route branch but it seems that the BYE sended by the dialog module does not traverse it.
For make me sure I've checked some failed transactions (not sended by dialog module) and it is logged properly.
ok, I thought you have the system to get the answered BYEs, but not the ones that fail. The messages initiated by openser, like hop-to-hop CANCEL, MESSAGE by msilo module or these BYEs are not going to the config, but if there is another proxy in the path, you could account there.
There are two options: - you insert the acc record from the application initiating the :dlg_end_dlg: command - you compile kamailio with -DUSE_LOCAL_ROUTE and write a local_route in the config where you do accounting. Be careful that local_route may bring some unexpected behaviors if you use it with branches, time variable, a.s.o, but should be fine just for accounting
Cheers, Daniel
Daniel-Constantin Mierla napsal(a):
Hello,
acc module has the functionality of logging failed transactions:
http://www.kamailio.org/docs/modules/1.4.x/acc.html#id2468153
Cheers, Daniel
On 10/16/08 11:46, Martin Vít wrote:
Hello,
i'm testing dialog module and trying to account died sessions. I've problem or i've misunderstood the way how to account it. If I send dlg_end_dlg, a dialog session is ended and BYE is sended to both sides. But if the BYE is not confirmed the acc module will never log this. Is there any way to immidiatly log BYE asap dialog ends?
thanks for any suggestion
MV
Daniel-Constantin Mierla napsal(a):
On 10/16/08 13:08, Martin Vít wrote:
I've tryed modparam("acc", "failed_transaction_flag", 4) and set the flag in route{ }. I've debug msgs in every route branch but it seems that the BYE sended by the dialog module does not traverse it.
For make me sure I've checked some failed transactions (not sended by dialog module) and it is logged properly.
ok, I thought you have the system to get the answered BYEs, but not the ones that fail.
Yes, I'm testing various scenarios with mediaproxy 2.1 - disconecting both endpoints (GW and Client) so no reply to BYE
The messages initiated by openser, like hop-to-hop CANCEL, MESSAGE by msilo module or these BYEs are not going to the config, but if there is another proxy in the path, you could account there.
Unfortunatly there is no proxy. In my setup there will be only central proxy, GWs and SIP endpoints.
There are two options:
- you insert the acc record from the application initiating the
:dlg_end_dlg: command
Goog hint! :) but it would be fine to log it through kamailio functions
- you compile kamailio with -DUSE_LOCAL_ROUTE and write a local_route
in the config where you do accounting. Be careful that local_route may bring some unexpected behaviors if you use it with branches, time variable, a.s.o, but should be fine just for accounting
I've tryed it as described in (http://lists.openser.org/pipermail/devel/2008-June/014035.html) (for others: complete info about USE_LOCAL_ROUTE check http://lists.kamailio.org/pipermail/users/2008-June/018272.html)
I've made new local_route routing, BYE is sended to this route but now I cannot log the BYE into the DB:
local_route { if (is_method("BYE")) { acc_log_request("internal bye"); append_hf("X-note: terminated by dialog module"); } }
This will produce log in syslog
Oct 16 18:51:48 kamailio kamailio[3773]: ACC: request accounted: timestamp=1224183108;method=BYE;from_tag=qvoqi;to_tag=d5c2cecb-125b6;call_id=jvgwxjqkorxzpam@172.24.92.208;co de=;reason=internal bye;from_uri=;to_uri=
but it is not logged to the DB. Is it possible to log it into the DB? (as I understood the setflag in local_route does not work so this could be the problem for db accounting?)
Cheers, Daniel
Daniel-Constantin Mierla napsal(a):
Hello,
acc module has the functionality of logging failed transactions:
http://www.kamailio.org/docs/modules/1.4.x/acc.html#id2468153
Cheers, Daniel
On 10/16/08 11:46, Martin Vít wrote:
Hello,
i'm testing dialog module and trying to account died sessions. I've problem or i've misunderstood the way how to account it. If I send dlg_end_dlg, a dialog session is ended and BYE is sended to both sides. But if the BYE is not confirmed the acc module will never log this. Is there any way to immidiatly log BYE asap dialog ends?
thanks for any suggestion
MV
local_route { if (is_method("BYE")) { acc_log_request("internal bye"); append_hf("X-note: terminated by dialog module"); } }
This will produce log in syslog
Oct 16 18:51:48 kamailio kamailio[3773]: ACC: request accounted: timestamp=1224183108;method=BYE;from_tag=qvoqi;to_tag=d5c2cecb-125b6;call_id=jvgwxjqkorxzpam@172.24.92.208;co de=;reason=internal bye;from_uri=;to_uri=
but it is not logged to the DB. Is it possible to log it into the DB? (as I understood the setflag in local_route does not work so this could be the problem for db accounting?)
I've tried without success acc_db_request("Internal BYE", "acc") from local_route
Oct 16 19:37:04 kamailio kamailio[3937]: ERROR:core:db_use_table: invalid parameter value Oct 16 19:37:04 kamailio kamailio[3937]: ERROR:acc:acc_db_request: error in use_table
when I use the same command outside local_route, acc_db_request works.