[asterisk-dev] On hook reversals

Steve Underwood steveu at coppice.org
Tue Jun 5 09:50:09 MST 2007

Mike Jagdis wrote:
> On Tue, Jun 05, 2007 at 07:55:49AM +0800, Steve Underwood wrote:
>> In the Zaptel code, the ZT_SETREVERSAL command tries to prevent 
>> reversals from being set while the loop is open. This test seems to fail 
>> under some circumstances, as I have had the driver in a state where 
>> reversals work just fine while the loop is open. I'm not clear what gets 
>> the driver in that state. However, my actual problem is I really need to 
>> generate reversals when the loop is open. Some of the caller ID specs 
>> require this. Can anyone tell me why these reversals are prevented, when 
>> it seems the hardware is quite happy to perform an on-hook reversal?
> You mean ZT_SETPOLARITY? You have to do a ZT_ONHOOKTRANSFER as well if
> you want reverse polarity transfer on-hook (or go off hook if you want
> loop). If the SI chipset isn't either off hook or in the on hook
> transfer state polarity has no meaning. (I think it actually sleeps
> in some "low power" state)
Of course polarity has meaning when the loop is open. The open loop 
always has 48V one way around or the other. Low power states are for 
parked calls, when the loop is still closed.

On Sunday my TDM400P got into a state where I could use ZT_SETPOLARITY 
quite happily with the loop open. I verified, by measurement with a 
meter, that the line was indeed reversing when I wanted it too. I was 
happily playing for hours doing various tests. The next day, after a 
reboot, I couldn't make it work. Looking in the code it seems to be 

I'm not trying to transfer anything. I just need to reverse the voltage 
on the open loop, as required by the UK and Japanese caller ID specs.


More information about the asterisk-dev mailing list