[Asterisk-Users] Enabling rtcachefriends prevents phones from calling each other

Kevin P. Fleming kpfleming at digium.com
Mon Jul 11 18:48:19 MST 2005


Star User wrote:

> So despite the fact that phone B's registration data (IP address and port) is in Server A's database, the Asterisk on Server A doesn't know how to route the call to phone B. It looks like Asterisk is using cached data and ignoring the database, but the registration info for phone B never got into the cache. 

rtcachefriends is not designed for use in this way, it assumes it has 
_exclusive_ control of the database. If Server A makes _any_ reference 
at all to Phone B before it has registered to Server B, then Server A 
will have a cached "unknown address" for Phone B, expecting that it will 
later see a registration for Phone B. It will not ever look back into 
the database for Phone B's address until the cached record expires from 
memory.

Basically, you cannot cache records when you are sharing a database, 
unless the systems doing the caching are aware of each other and can 
tell each other when to flush and/or update their caches.



More information about the asterisk-users mailing list