экранирование спецсимволов в extention

Основной форум.
Для опытных

Модераторы: Admins, Модераторы

Ответить
Krong
Сообщения: 18
Зарегистрирован: 17 фев 2010, 10:48

экранирование спецсимволов в extention

Сообщение Krong » 11 апр 2016, 14:20

не могу понять как экранировать символ "-"
exten => _sky-.,1,
exten => _sky2-.,1,

после релоада, астериск сортирует диалплан и exten => _sky2-.,1, оказывается ниже exten => _sky-.,1,
а на "-" похоже срабатывает любой символ, в итоге при звонке на sky2- попадаю на sky-

другие буквы экранирую [], а тут не помогло
exten => _sky[-].,1, - вообще перестало в правило попадать.

кто нить знает как экранировать тире?

Аватара пользователя
python
Сообщения: 95
Зарегистрирован: 26 мар 2009, 14:44
Откуда: Moscow
Контактная информация:

Сообщение python » 18 апр 2016, 20:07

попробуй так:

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

exten => _sky1.,1,
exten => _sky2.,1,
Тогда, по крайней мере, сможешь более точно разделять по префиксу, но в любом случае "-" тут не очень правильное решение, т.к. оно парсером астериска в шаблоне скорее всего воспринимается как составаня часть диапазона, как это [1-59]
http://zemlyakovmp.ru - Мой блог о VoIP, Linux, Asterisk.

Krong
Сообщения: 18
Зарегистрирован: 17 фев 2010, 10:48

Сообщение Krong » 19 апр 2016, 09:00

да, в [] он так и воспринимается, а без [] он воспринимается как любой один символ, поэтому _sky1. и _sky1-. будет тоже самое.
просто номера с символом "-" приходят с другого сервера, а написать контекст под них однозначный не получается. Нужно экранирование, неужели его нет?

Аватара пользователя
python
Сообщения: 95
Зарегистрирован: 26 мар 2009, 14:44
Откуда: Moscow
Контактная информация:

Сообщение python » 19 апр 2016, 09:55

В таком случае, имхо, проще запилить agi-скрипт на любимом языке, разобрать номер нормальной регуляркой, вернуть в нужное место диалплана и наслаждаться результатом. Я б, не мудрствуя лукаво, так и сделал, ежели решение не гуглится за +-15 минут.
http://zemlyakovmp.ru - Мой блог о VoIP, Linux, Asterisk.

Ответить