Страница 1 из 1

Чувствительность к регистру

Добавлено: 05 сен 2015, 11:50
The Sea Capitan
Ситуация такая:
Астериск воспроизводит файлы,имена которых он берет из базы данных

Что-то вроде
exten => s,n,Set(__COLOR=${ODBC_COLOR(${CALLERID(num):-10})})
exten => s,n,Background(colors/${COLOR})

Проблема в том,что если в базе цвет будет записан,скажем, как "Белый",а в папке на сервере Астериска лежит "БЕЛЫЙ",то естественно файл не воспроизведется.Сейчас проблему решил таким образом,что в запросе к БД поставил условие: возвращать имя цвета в верхнем регистре,и соответственно файлы на сервере тоже записывать в верхнем регистре.

Хотелось бы узнать,есть ли способ штатными средствами заставить Астериск игнорировать регистр звуковых файлов.

Re: Чувствительность к регистру

Добавлено: 05 сен 2015, 19:59
SolarW
The Sea Capitan писал(а):есть ли способ штатными средствами заставить Астериск игнорировать регистр звуковых файлов
Не туда смотрите.
Чувствительность к регистру в имени файла - это свойство не астериска а операционной системы (Linux) под которой он работает.

Re: Чувствительность к регистру

Добавлено: 07 сен 2015, 11:57
Glukinho
The Sea Capitan писал(а):Хотелось бы узнать,есть ли способ штатными средствами заставить Астериск игнорировать регистр звуковых файлов.
Есть:
exten => s,n,Background(colors/${TOLOWER(${COLOR})})
Храните файлы только в нижнем регистре, тогда будет все равно, в каком приходит из БД.

Re: Чувствительность к регистру

Добавлено: 08 сен 2015, 09:05
The Sea Capitan
Спасибо,то что мне и нужно было.

Re: Чувствительность к регистру

Добавлено: 08 сен 2015, 10:24
Glukinho
Вообще, это всё кривота и костыли, которые вам же потом боком вылезут, лучше обеспечьте хранение и файлов, и имен в базе в одном регистре. Например, проверяйте на этапе укладывания в БД.

Re: Чувствительность к регистру

Добавлено: 08 сен 2015, 14:10
The Sea Capitan
В этом вся проблема, БД и всё,что с ней связано не на нашей стороне.Приходится ухищряться вот такими методами.

Re: Чувствительность к регистру

Добавлено: 08 сен 2015, 14:41
Wapo
Сделайте по другому:

exten => s,n,AGI(check.php,${CALLERID(num):-10})
и уж в php получить имя из БД, далее поискать соответствие в том же php и вернуть в качестве правильного имени.
Сам скрипт пишется за десяток минут :)

Re: Чувствительность к регистру

Добавлено: 08 сен 2015, 17:28
The Sea Capitan
Спасибо за совет.