[Asterisk-Dev] UK BT Caller ID - work on new patch
Marc McLaughlin (LUSYN)
marc at lusyn.com
Tue Nov 9 05:38:02 MST 2004
Hi all,
The original patch developed by Tony Hoyle was reported in Bug ID 1719.
Modified versions of these are now available which work with v1 of *
(download from www.lusyn.com/asterisk/patches.html). I'm trying to come up
with a new patch for UK BT Caller ID on X100P with the aim of it being
accepted into CVS as a permanent fix.
Since v1 of *, which now incorporates a UK Caller ID fix which I believe was
done by dant, I thought it would be easiest to monitor for a sample above a
certain threshold (as Mark suggested in the bugnotes) but to then signal
ZT_EVENT_POLARITY. That would fire off to chan_zap.c which should extract
the Caller ID info and then carry on with distinctive ring checks, etc. I
set a flag to indicate a signal has been sent, which gets cleared when
wc->off_hook is set to 0.
At the moment my modified wcfxo.c results in the following :
1) Samples detected on line, ZT_EVENT_POLARITY signalled
2) Caller ID info extracted correctly by chan_zap.c
3) Distinctive ring checks fail
4) Call forwarded as expected to SIP phone
5) When hanging up and wc->off_hook set to 0, extra samples are detected
which fires off ZT_EVENT_POLARITY again
The first problem is that distinctive ring checks fail. I remember dant
saying in the bugnotes that he couldn't test distinctive ring with his
Caller ID patch (which has been incorporated into CVS head). I've found a
simple test whether or not you have BT Call Sign (distinctive ring product).
First of all make sure you have set "usedistinctiveringdetection=yes" in
/etc/asterisk/zapata.conf. If the line gets answered after the first ring
and distinctive ring is detected as 0,0,0 then the distinctive ring
detection is not working. If the line gets answered after a couple of rings
and distinctive ring is not detected as 0,0,0 (I normally get 367,*,* for
normal ring), then distinctive ring detection is probably working.
The second problem is with samples generated which are nothing to do with
Caller ID info being sent before a call. I can ignore the start-up samples
which appear when wcfxo is loaded and then ztcfg'd, but the difficult bit is
knowing when a call has closed down properly and it's safe to start
monitoring for Caller ID info again. Unfortunately the close-down samples
are similar in value to the samples generated just before Caller ID.
Thinking perhaps of checking the actual values against the Channel Seizure
Signal (01010101 x 30).
Anyone got any ideas?
Rgds,
Marc
More information about the asterisk-dev
mailing list