i->lock was taken firsst and ast_channel_lock after by call to one of asterisk functions (get variable, set variable).
As result CAPI thread was blocked in one deadlock condition and stopped the processing of CAPI messages.
The resulting behavior is reported by: http://www.ipphoneforum.eu/showthread.php?t=220051.
Timeouts for CONNECT_CONF and DISC with 'incompatible destination' for opposite side.
But this is still problem: this is delayed channel work which is done without ast_channel_lock held (or channel reference count increassed in
asterisk 1.8(). As result this iss still possible that channel is freed (by asterisk) before the delayed work is executed.
This should be addressed in the next time.