Well, Once upon a time, I had problems receiving callerid, and then one day, Mark was logged into my asterisk box helping with something else, and I asked him about this, and he showed me a nice tweak to some source file that made it work. Some time later, I must have done hundreds of CVS updates, and along the way, lost the above patch (one liner) and so callerID hasn't worked for a long time. Silly me thought it must be something wrong with my isdn4linux, or kernel hacks, or something. Finally tonight, using a PRI into a TE405P (or maybe TE410P) with current asterisk cvs stable version, and I called the ttsagi-sayani that I found a long time ago, and it read out my correct callerid. BUT, it still doesn't show up on my handset, so, this is where I remember that I need the magic one line patch.>From a very quick look at the source code, I think it will need to bethis that needs to be modified: Line: 532 static int cidrings[] = { 2, /* Right after first long ring */ 4, /* Right after long part */ 3, /* After third chirp */ 2, /* Second spell */ }; Actually, now that I look at the file again, I can also see: Line: 80 /* Typically, how many rings before we should send Caller*ID */ #define DEFAULT_CIDRINGS 1 So, does anyone know if either of these are the things I need to change? and what I need to change them to? I am in Australia, which I think expects callerid at a different time to other countries.... Although other people have told me callerid is working correctly for them....
Adam Goryachev wrote:> I am in Australia, which I think expects callerid at a different time to > other countries.... Although other people have told me callerid is > working correctly for them....From what I've been able to guess at Telstra sends a short ~50ms chirp to the phone, the caller id and then the first full ring, other countries such as the US get the first full ring and then caller ID, and at present caller ID seems to work but different ring candacies don't... -- Best regards, Duane http://www.cacert.org - Free Security Certificates http://www.nodedb.com - Think globally, network locally http://www.sydneywireless.com - Telecommunications Freedom http://happysnapper.com.au - Sell your photos over the net! http://e164.org - Using Enum.164 to interconnect asterisk servers
Adam Goryachev wrote:> I am in Australia, which I think expects callerid at a different time to > other countries.... Although other people have told me callerid is > working correctly for them....Forgot to mention there is a patch for this, but it won't patch cleanly against current CVS... http://bugs.digium.com/bug_view_page.php?bug_id=0001007 -- Best regards, Duane http://www.cacert.org - Free Security Certificates http://www.nodedb.com - Think globally, network locally http://www.sydneywireless.com - Telecommunications Freedom http://happysnapper.com.au - Sell your photos over the net! http://e164.org - Using Enum.164 to interconnect asterisk servers
G'day Adam, This drove me nuts for a few days just recently (only fixed it yesterday in fact, and I've not had a chance to update any doco anywhere yet). On Wed, 14 Apr 2004, Adam Goryachev wrote:> Actually, now that I look at the file again, I can also see: > Line: 80 > /* Typically, how many rings before we should send Caller*ID */ > #define DEFAULT_CIDRINGS 1Yes, that's one of the changes. Change this to #define DEFAULT_CIDRINGS 2> I am in Australia, which I think expects callerid at a different time to > other countries.... Although other people have told me callerid is > working correctly for them....You're right, our callerid must wait a little longer after the first ring burst (but otherwise is US Bellcore FSK). In callerid.c, on or about line 467, change the value 4000 to 5600 [1]. Recompile, reinstall, shutdown and restart. I have one phone here that works with standard Asterisk, so when another phone did not work I thought it was the phone. Then a third phone did not work, so I started looking for the problem. I think that early phones were built to the US standard, and so will work with US callerid, but the Australian standard was changed later so newer phones need the callerid data to arrive later. Cheers, Vic Cross [1] 5600 gives you 700ms, which is the time implied by a callerid test program I found. I did not want to pay $40 to get a copy of the Australian standard (especially since I can get commentary about the Bellcore standard off the Net), so I don't know exactly what it's supposed to be, but 700ms works for me.