using SHARED asterisk

Использование функции SHARED не очень удобно. Т.к. она привязана к каналам.

Например, мы делаем вызов в queue, где агентами являются Local-каналы, т.е. по отношению к текущему это будут другие каналы. По идее можно было бы узнать имя родительского канала через наследуемую переменную, но как мы будет в него сохранять данные? У нас может быть переменное количество каналов, да и они могут вызываться в queue по нескольку раз. Т.е. пакетов данных по звонкам в сабканалы может быть много.

Альтернатива – использование внешнего хранилища, например, redis. На сабканале делать redis.lpush на uniqueid, а в основном канале сделать redis.lrange по uniqueid и получить массив данных одним хопом. Единственно, необходимо на ключи redis ставить TTL, иначе они будут накапливаться в памяти.

Начало здесь: https://asterisk-support-ru.slack.com/archives/asterisk/p1462528938000253

Advertisements
using SHARED asterisk

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s