[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