[Solved] Problem - Call length is not what I exspect

I am using Asterisk 1.07, TDM400P with 4 green PCBs.
To every one of this modules, we are connecting devices which support reverse polarity.
What happense:
When I am making call, time from answering of PCB to hangup.
And real call is only small part of total time:
Total time:60 sec
Billing time:55 sec
Real conversation: 11 sec - this is according to my phone.

I made some changes in chan_zap.c
I put there additional raw to handle Reverce polarity signal:

case ZT_EVENT_POLARITY: TTStoyan=StoyanTimerFunc(); if(TTStoyan) { ast_log(LOG_WARNING, "Yep! %d BlaBla",TTStoyan); } else ast_log(LOG_WARNING, " Start "); break;
And StoyanTimerFunc is doing only 1 thing. If asked for first time - get current time, if asced second time, to return how many seconds are passed, than to clear everything. Very simple function, but it mesure time very precisely.

Than I have 60 sec total time, 55 sec billing time, 11 sec real time.
If neccessary, I will change that file, but I would like to know if there are better ways.
May be some settings in zapata.conf?

maxosystem.net/asterisk/aste … arity.html
I got maxosystem.net/asterisk/aste … ty-v5.diff
Than I manually did changes - becouse I already made some changes in chan_zap.c, than I added in zapata.conf

And - nothing happence.
Only when I put those 2 lines before
context=default ; Points to the default context of your extensions.conf
channel => 1-4 ; Again X is the number of FXO modules you have
than every thing start going as it should.