Meanwhile I was making my scripts for management of the accounting, I realized and after some call has been answered if the called party simply has a power failure or network failure, no BYE message ever gets returned to the other party, what results in the acc table in one ACK message and after that no more messages belonging to that call-id. This can mean erroneously that the call is still in progress eternally, resulting in an enormous billing to the caller!! This is a very serious issue! How can I protect my system from this kind of problems?
Thanks, Ricardo.
Ricardo Carvalho wrote:
Meanwhile I was making my scripts for management of the accounting, I realized and after some call has been answered if the called party simply has a power failure or network failure, no BYE message ever gets returned to the other party, what results in the acc table in one ACK message and after that no more messages belonging to that call-id. This can mean erroneously that the call is still in progress eternally, resulting in an enormous billing to the caller!! This is a very serious issue! How can I protect my system from this kind of problems?
if you are billing onnet calls, you're lost. if you bill calls to the PSTN, you can try to correlate your accounting data with accounting data provided by the gateway.
perhaps your gateway provider does offer Session Timer ?
This matter has been discussed throughly on the list, more than once. Do a search on "BYE accounting" and I'm sure you get plenty of hits. http://iptel.org/listsearch g-)
Andreas Wernitz wrote:
Ricardo Carvalho wrote:
Meanwhile I was making my scripts for management of the accounting, I realized and after some call has been answered if the called party simply has a power failure or network failure, no BYE message ever gets returned to the other party, what results in the acc table in one ACK message and after that no more messages belonging to that call-id. This can mean erroneously that the call is still in progress eternally, resulting in an enormous billing to the caller!! This is a very serious issue! How can I protect my system from this kind of problems?
if you are billing onnet calls, you're lost. if you bill calls to the PSTN, you can try to correlate your accounting data with accounting data provided by the gateway.
perhaps your gateway provider does offer Session Timer ?
Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
After spending some time searching about this problem, It seams that there are 2 options to solve it:
* configure an appropriate RTP timeout on the gateway. For instance, a if there is no packets after 10 seconds, cancel the call.
* configure Ser to modify Session Headers setting an onreply_route with the following code which "emulates" session-timer support in the user agent that sent 200 OK:
########################################################## if (status =~ "2[0-9][0-9]") { remove_hf("Session-Expires"); append_hf("Session-Expires: 120;refresher=UAC\r\n"); }; ##########################################################
Some people say that this implementation is a violation of the Session-Timer draft, and because of that, it's a workaround that only works with some gateways... I use Asterisk as my PSTN gateway...
For those like me that use Ser+Asterisk, which of these options to solve this problem do you recommend me? Is there other way that I haven't found to solve it? Should I trust the emulation of session-timer in Ser? wouldn't it give me trouble in the future?
Thanks in advance, Ricardo.
Greger V. Teigre wrote:
This matter has been discussed throughly on the list, more than once. Do a search on "BYE accounting" and I'm sure you get plenty of hits. http://iptel.org/listsearch g-)
Andreas Wernitz wrote:
Ricardo Carvalho wrote:
Meanwhile I was making my scripts for management of the accounting, I realized and after some call has been answered if the called party simply has a power failure or network failure, no BYE message ever gets returned to the other party, what results in the acc table in one ACK message and after that no more messages belonging to that call-id. This can mean erroneously that the call is still in progress eternally, resulting in an enormous billing to the caller!! This is a very serious issue! How can I protect my system from this kind of problems?
if you are billing onnet calls, you're lost. if you bill calls to the PSTN, you can try to correlate your accounting data with accounting data provided by the gateway.
perhaps your gateway provider does offer Session Timer ?
Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Thanks for a good summary, Ricardo. I think both options are in use and that it is hard to say which is the best for you. Session-Timer generates a lof of reINVITEs, so in terms of traffic the RTP timeout is best. However, you need to make sure that you don't terminate media sessions that are in a call, but where no packets are sent (again, depends on your configuration). As for not following the draft, AFAIK it is because the draft states that the UAs should be the originators, not a proxy on the path. I haven't looked into the draft, so this is just based on previous discussions. If my assumption is true, I wouldn't worry too much. g-)
Ricardo Carvalho wrote:
After spending some time searching about this problem, It seams that there are 2 options to solve it:
- configure an appropriate RTP timeout on the gateway. For instance, a
if there is no packets after 10 seconds, cancel the call.
- configure Ser to modify Session Headers setting an onreply_route
with the following code which "emulates" session-timer support in the user agent that sent 200 OK:
########################################################## if (status =~ "2[0-9][0-9]") { remove_hf("Session-Expires"); append_hf("Session-Expires: 120;refresher=UAC\r\n"); }; ##########################################################
Some people say that this implementation is a violation of the Session-Timer draft, and because of that, it's a workaround that only works with some gateways... I use Asterisk as my PSTN gateway...
For those like me that use Ser+Asterisk, which of these options to solve this problem do you recommend me? Is there other way that I haven't found to solve it? Should I trust the emulation of session-timer in Ser? wouldn't it give me trouble in the future?
Thanks in advance, Ricardo.
Greger V. Teigre wrote:
This matter has been discussed throughly on the list, more than once. Do a search on "BYE accounting" and I'm sure you get plenty of hits. http://iptel.org/listsearch g-)
Andreas Wernitz wrote:
Ricardo Carvalho wrote:
Meanwhile I was making my scripts for management of the accounting, I realized and after some call has been answered if the called party simply has a power failure or network failure, no BYE message ever gets returned to the other party, what results in the acc table in one ACK message and after that no more messages belonging to that call-id. This can mean erroneously that the call is still in progress eternally, resulting in an enormous billing to the caller!! This is a very serious issue! How can I protect my system from this kind of problems?
if you are billing onnet calls, you're lost. if you bill calls to the PSTN, you can try to correlate your accounting data with accounting data provided by the gateway.
perhaps your gateway provider does offer Session Timer ?
Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Serusers mailing list Serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers