Регулярные выражения преобразования вызываемого номера
Регулярные выражения преобразования вызываемого номера
В документации описан сабж. Транки и тарификацмя в биллинге по Е-164
Надо отрезать '+', добавлять к шестизначным год города с семеркой, убирать выход на межгород и менять 8-ку на 7-ку. Сделал:
$conf{VOIP_NUMBER_EXPR} = '+/;^[2-79]([0-9]{5})$/74732$number;^810/;^8/7';
НЕ РАБОТАЕТ.
Что сделал не так?
Надо отрезать '+', добавлять к шестизначным год города с семеркой, убирать выход на межгород и менять 8-ку на 7-ку. Сделал:
$conf{VOIP_NUMBER_EXPR} = '+/;^[2-79]([0-9]{5})$/74732$number;^810/;^8/7';
НЕ РАБОТАЕТ.
Что сделал не так?
Re: Регулярные выражения преобразования вызываемого номера
Итоговая строка у меня $conf{VOIP_NUMBER_EXPR} = '^\+7/7;^810/;^8/7;^(2[0-9]{5})$/74732$number';
В ней работает все кроме заменить +7 на 7
и совсем не работает конструкция $number
На последнюю выходит ошибка:
# Executing group from file /etc/raddb/sites-enabled/abills_default
+group Perl {
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
)
ORDER BY 2 DESC LIMIT 1' at line 6 at /usr/abills/libexec/../Abills/mysql/main.pm line 281.
В ней работает все кроме заменить +7 на 7
и совсем не работает конструкция $number
На последнюю выходит ошибка:
# Executing group from file /etc/raddb/sites-enabled/abills_default
+group Perl {
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
)
ORDER BY 2 DESC LIMIT 1' at line 6 at /usr/abills/libexec/../Abills/mysql/main.pm line 281.
Re: Регулярные выражения преобразования вызываемого номера
А набор с "+" как я понял , он вообще не пропускает...
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Re: Регулярные выражения преобразования вызываемого номера
Игорь писал(а):Итоговая строка у меня $conf{VOIP_NUMBER_EXPR} = '^\+7/7;^810/;^8/7;^(2[0-9]{5})$/74732$number';
В ней работает все кроме заменить +7 на 7
и совсем не работает конструкция $number
На последнюю выходит ошибка:
# Executing group from file /etc/raddb/sites-enabled/abills_default
+group Perl {
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
)
ORDER BY 2 DESC LIMIT 1' at line 6 at /usr/abills/libexec/../Abills/mysql/main.pm line 281.
тут нужно проверить /tmp/sql_errors
Re: Регулярные выражения преобразования вызываемого номера
Там только много-много ошибок
bill.tags' doesn't exist
А в логе радиуса есть немного:
Tue Apr 4 11:33:25 2017 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authenticate exit status= Quantifier follows nothing in regex; marked by <-- HERE in m/+ <-- HERE / at /usr/abills/libexec/../Abills/mysql/Voip_aaa.pm line 168.
Thu Apr 6 09:14:29 2017 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authenticate exit status= Unmatched ( in regex; marked by <-- HERE in m/( <-- HERE ^[2-79]([0-9]{5})/ at /usr/abills/libexec/../Abills/mysql/Voip_aaa.pm line 168.
bill.tags' doesn't exist
А в логе радиуса есть немного:
Tue Apr 4 11:33:25 2017 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authenticate exit status= Quantifier follows nothing in regex; marked by <-- HERE in m/+ <-- HERE / at /usr/abills/libexec/../Abills/mysql/Voip_aaa.pm line 168.
Thu Apr 6 09:14:29 2017 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authenticate exit status= Unmatched ( in regex; marked by <-- HERE in m/( <-- HERE ^[2-79]([0-9]{5})/ at /usr/abills/libexec/../Abills/mysql/Voip_aaa.pm line 168.
Re: Регулярные выражения преобразования вызываемого номера
В логе мускуля тишина.
В выводе радиуса:
Found Auth-Type = Perl
# Executing group from file /etc/raddb/sites-enabled/abills_default
+group Perl {
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
ORDER BY 2 DESC LIMIT 1' at line 6 at /usr/abills/libexec/../Abills/mysql/main.pm line 281.
Что делать???
В выводе радиуса:
Found Auth-Type = Perl
# Executing group from file /etc/raddb/sites-enabled/abills_default
+group Perl {
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
ORDER BY 2 DESC LIMIT 1' at line 6 at /usr/abills/libexec/../Abills/mysql/main.pm line 281.
Что делать???
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Re: Регулярные выражения преобразования вызываемого номера
Игорь писал(а):Там только много-много ошибок
bill.tags' doesn't exist
А в логе радиуса есть немного:
Tue Apr 4 11:33:25 2017 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authenticate exit status= Quantifier follows nothing in regex; marked by <-- HERE in m/+ <-- HERE / at /usr/abills/libexec/../Abills/mysql/Voip_aaa.pm line 168.
Thu Apr 6 09:14:29 2017 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authenticate exit status= Unmatched ( in regex; marked by <-- HERE in m/( <-- HERE ^[2-79]([0-9]{5})/ at /usr/abills/libexec/../Abills/mysql/Voip_aaa.pm line 168.
perl -v
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Re: Регулярные выражения преобразования вызываемого номера
сразу поле получения ошибки сделайте tail /tmp/sql_errorsИгорь писал(а):В логе мускуля тишина.
В выводе радиуса:
Found Auth-Type = Perl
# Executing group from file /etc/raddb/sites-enabled/abills_default
+group Perl {
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
ORDER BY 2 DESC LIMIT 1' at line 6 at /usr/abills/libexec/../Abills/mysql/main.pm line 281.
Что делать???
Re: Регулярные выражения преобразования вызываемого номера
После того, как победил ".tags' doesn't exist", стер этот файл.
Теперь он пустой. Нет там ошибок.
Теперь он пустой. Нет там ошибок.
Re: Регулярные выражения преобразования вызываемого номера
Зато в радиус лог сыпится:
Fri Apr 7 20:21:07 2017 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authenticate exit status= Can't locate object method "prepare" via package "Abills::SQL" at /usr/abills/libexec/../Abills/mysql/main.pm line 263.
Fri Apr 7 20:21:07 2017 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = post_auth exit status= Can't locate object method "do" via package "Abills::SQL" at /usr/abills/libexec/../Abills/mysql/main.pm line 257.
Fri Apr 7 20:21:07 2017 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = authenticate exit status= Can't locate object method "prepare" via package "Abills::SQL" at /usr/abills/libexec/../Abills/mysql/main.pm line 263.
Fri Apr 7 20:21:07 2017 : Error: rlm_perl: perl_embed:: module = /usr/abills/libexec/rlm_perl.pl , func = post_auth exit status= Can't locate object method "do" via package "Abills::SQL" at /usr/abills/libexec/../Abills/mysql/main.pm line 257.
Re: Регулярные выражения преобразования вызываемого номера
переставил DBD, предыдущих ошибок пока не наблюдаю.
Остались только:
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
Остались только:
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Re: Регулярные выражения преобразования вызываемого номера
Игорь писал(а):переставил DBD, предыдущих ошибок пока не наблюдаю.
Остались только:
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')
сразу поле получения ошибки сделайте tail /tmp/sql_errors
Re: Регулярные выражения преобразования вызываемого номера
tail /tmp/sql_errors
Пусто там.
Пусто там.
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Re: Регулярные выражения преобразования вызываемого номера
а тут ?
/usr/abills/var/log/sql_errors
/usr/abills/var/log/sql_errors
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация: