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

realtime extensions повторяющиеся префиксы

Добавлено: 27 фев 2017, 13:22
alvama
Здравствуйте. Настроил с помощью realtime extensions звонки на разных сотовых операторов через симки этих операторов. Штука работает. Стал попадать на деньги и обнаружил что виной перебежчики - те кто перешел на другого оператора сохранив номер. Если номер "любимый", то и сумма набегает приличная. При попытке добавить строку с более длинным префиксом обнаружил, что астериск не сортит найденные префиксы, а берет первый попавшийся. В итоге я не смог имея строку с exten = '_89111.' использовать другую строку с exten='_89111234567' и другой appdata. Не подскажете можно ли это забороть без выдумывания костылей? Спасибо. Будущее телефонии прочитал, тогда рилтайма не было ;-).

Re: realtime extensions повторяющиеся префиксы

Добавлено: 27 фев 2017, 15:11
virus_net
alvama писал(а):exten='_89111234567'
не является шаблоном, это номер.
Что показывает:

Код: Выделить всё

*CLI> dialplan show 89111234567@context
смотрели ?

Re: realtime extensions повторяющиеся префиксы

Добавлено: 27 фев 2017, 15:37
Repz
он не первый попавшийся берет, а первый совпавший, если стоит _89111234567 , потом _89111. , то первый шаблон будет срабатывать при точном совпадении, а во второй пойдет все что не совпало с первым. Если первым будет стоять _89111., то до _89111234567 никогда не дойдет, всё будет обработано первым шаблоном.

Re: realtime extensions повторяющиеся префиксы

Добавлено: 27 фев 2017, 16:03
alvama
Спасибо за быстрый ответ. А что значит первый совпавший? Если бы я читал текстовый файл, то там все идет по порядку. Точно известно что вторая строка будет прочитана и использована после первой. А при работе с БД если ты напишешь select без order by то тебе никто не гарантирует порядка выдачи строк и скуль имеет право выдать как ему удобнее. Я не думаю что результат сортится по полю id :-).

Re: realtime extensions повторяющиеся префиксы

Добавлено: 27 фев 2017, 17:34
Repz
написали же как посмотреть в каком порядке хранится - *CLI> dialplan show
если скуль как хочет данные тянет, пиши в конфигурационном файле, рилтайм будет оттуда подтягивать тоже

Re: realtime extensions повторяющиеся префиксы

Добавлено: 27 фев 2017, 17:35
Repz
и что мешает сделать записи в таблице в том порядке какой нужен?

Re: realtime extensions повторяющиеся префиксы

Добавлено: 27 фев 2017, 17:48
ded
Для того, чтобы расписать порядок направлений по шаблонам
_89011ХХХХХХ
_89222ХХХХХХ
_8985ХХХХХХХ
вообще MySQL не нужен.
Такой файл extensions.conf не будет занимать много места, и будет полностью сидеть резидентно в памяти процесса Астериск. И обрабатываться моментально.
Или же подключаться к virus_net - базе данных перебежчиков, чтобы не сочинять свои костыли, со всеми вытекающими.

Re: realtime extensions повторяющиеся префиксы

Добавлено: 01 мар 2017, 12:50
alvama
virus_net писал(а):
alvama писал(а):exten='_89111234567'
не является шаблоном, это номер.
Что показывает:

Код: Выделить всё

*CLI> dialplan show 89111234567@context
смотрели ?
Да, конечно, exten='_89111234567' это номер, а не шаблон. Когда пытался побороть вопрос менял на exten='_8911123456.', но не помогло. Прошу прощения за серость, но команда которую Вы указали ничего не выдает. Более того, когда напишешь dialplan show то realtime диалплан не выводится. В конфиге есть строки

Код: Выделить всё

[rt-panasonic0]
exten => _X.,1,GoSub(sub-isallowed,s,1(${CALLERID(num)},${EXTEN}))
exten => _X.,n,Goto(rt-panasonic2,${EXTEN},1)

[rt-panasonic2]
switch => Realtime/rt-panasonic1@extensions
при наборе dialplan show rt-panasonic0 или rt-panasonic2 ничего интересного (то что в конфиге), при наборе dialplan show rt-panasonic1 идет ругань

Код: Выделить всё

aster2*CLI> dialplan show rt-panasonic1
There is no existence of 'rt-panasonic1' context
Command 'dialplan show rt-panasonic1' failed.
aster2*CLI>

Re: realtime extensions повторяющиеся префиксы

Добавлено: 01 мар 2017, 13:00
alvama
to ded:
Конечно можно уйти от рилтайма. Но правильно ли это? Уж больно подкупает удобство скуля, когда хочешь посмотреть существующие данные по какому-то префиксу (select ... where ... like...). Куда ни глянь все уходят от конфигов в тексте в конфиги в скуль. К тому-же удручает количество строк. Сейчас в таблице extensions около 500 строк, которые относятся к Питерским префиксам сотовых операторов. надо добавить еще около 100 для перебежчиков. И новые префиксы я добавляю в базу не руками, а апачем. Повторюсь, можно конечно сделать include текстовика, который наполнять любыми средставми, но хотелось "идти в ногу со временем".

Re: realtime extensions повторяющиеся префиксы

Добавлено: 01 мар 2017, 13:12
april22
скуль умер - ни кто не куда не звонит :-)