[Asterisk-Users] Caller ID with BT CD50

Tony Hoyle tmh at nodomain.org
Fri May 28 15:15:12 MST 2004


Kevin Walsh wrote:

> Ok - now the phones ring but there are three problems:
> 
>     1. The distinctive ring is not recognised - both types of ring are
>        directed to the same context.

No idea why that could happen - it's not obvious how detection works in the 
first place though (not sure what it's testing - something called 'ringt' 
which isn't explained in the comments).

>     2. Callers to the primary number hear three rings before the phones
>        actually ring.

That's the way the code is written (which is why you have 3 values in the 
dring entry I think).  There's an assumption in the code that it has 3 rings 
to compare with.

 From the code it looks like in the US the distinctive ring is sent followed 
by the caller ID - so you'd get some rings, the caller id then the loop would 
exit and asterisk would begin comparison.  In the UK of course this is not the 
case, and the detection has no termination point - you always get the maximum 
3 rings.  The hack of forcing it to break after the first ring will work in 
the UK but will of course break in the US, so isn't really an answer.

Maybe possibly removing the restriction to 3 rings is possible, but it's 
hardcoded to 3 in many places and I'm not sure I'd want to get the CID patch 
mixed in with that level of change.

>     3. callers to the secondary number hear four rings before the phones
>        actually ring, which is different from #2 and therefore indicates
>        that something's happening.

I suspect that's more due to timing than anything else - the actual ring 
detection (comparison with the 3 rings sampled previously) doesn't do anything 
different.

> Did you make any changes elsewhere, or just to chan_zap.c?  I moved
> my chan_zap.c, updated it from the CVS head and applied your patch.
> All of the other files are patches as per your previous diffs.  After
> testing, I put my chan_zap.c back, compiled, installed and it all
> started working again.

The only real difference (aside from the ability to drop into the ring detect 
code) is an if around the callerid_feed call - everything else is unchanged.

If you run asterisk with in verbose mode does it log anything useful?

Tony

-- 
Te audire no possum. Musa sapientum fixa est in aure.

Tony Hoyle <tmh at nodomain.org>  Key ID: 104D/4F4B6917 2003-09-13
Fingerprint: 063C AFB4 3026 F724 0AA2  02B8 E547 470E 4F4B 6917



More information about the asterisk-users mailing list