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

Matthew Boehm mboehm at cytelcom.com
Mon Jul 11 20:07:18 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.

Can't it be changed so that if Server A has stored an "unknown address" for
phone B that if it needs to contact B again it should look up in the
database to "try" and contact it instead of just giving up? Perhaps
rtagressive option? Contact only, not storing info in cache.

-Matthew





More information about the asterisk-users mailing list