Регулярные выражения преобразования вызываемого номера

Модуль для организации IP-телефонии
Игорь
Сообщения: 36
Зарегистрирован: Вт янв 03, 2017 4:29 am

Регулярные выражения преобразования вызываемого номера

Сообщение Игорь » Вт апр 04, 2017 12:39 pm

В документации описан сабж. Транки и тарификацмя в биллинге по Е-164
Надо отрезать '+', добавлять к шестизначным год города с семеркой, убирать выход на межгород и менять 8-ку на 7-ку. Сделал:

$conf{VOIP_NUMBER_EXPR} = '+/;^[2-79]([0-9]{5})$/74732$number;^810/;^8/7';

НЕ РАБОТАЕТ.

Что сделал не так?

Игорь
Сообщения: 36
Зарегистрирован: Вт янв 03, 2017 4:29 am

Re: Регулярные выражения преобразования вызываемого номера

Сообщение Игорь » Чт апр 06, 2017 7:20 am

Итоговая строка у меня $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.

Игорь
Сообщения: 36
Зарегистрирован: Вт янв 03, 2017 4:29 am

Re: Регулярные выражения преобразования вызываемого номера

Сообщение Игорь » Чт апр 06, 2017 7:33 am

А набор с "+" как я понял , он вообще не пропускает...

~AsmodeuS~
Site Admin
Сообщения: 5446
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Регулярные выражения преобразования вызываемого номера

Сообщение ~AsmodeuS~ » Чт апр 06, 2017 2:07 pm

Игорь писал(а):Итоговая строка у меня $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

Игорь
Сообщения: 36
Зарегистрирован: Вт янв 03, 2017 4:29 am

Re: Регулярные выражения преобразования вызываемого номера

Сообщение Игорь » Чт апр 06, 2017 5:42 pm

Там только много-много ошибок
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.

Игорь
Сообщения: 36
Зарегистрирован: Вт янв 03, 2017 4:29 am

Re: Регулярные выражения преобразования вызываемого номера

Сообщение Игорь » Пт апр 07, 2017 8:16 am

В логе мускуля тишина.

В выводе радиуса:
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.

Что делать???

~AsmodeuS~
Site Admin
Сообщения: 5446
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Регулярные выражения преобразования вызываемого номера

Сообщение ~AsmodeuS~ » Пт апр 07, 2017 8:58 am

Игорь писал(а):Там только много-много ошибок
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

~AsmodeuS~
Site Admin
Сообщения: 5446
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Регулярные выражения преобразования вызываемого номера

Сообщение ~AsmodeuS~ » Пт апр 07, 2017 8:59 am

Игорь писал(а):В логе мускуля тишина.

В выводе радиуса:
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.

Что делать???


сразу поле получения ошибки сделайте tail /tmp/sql_errors

Игорь
Сообщения: 36
Зарегистрирован: Вт янв 03, 2017 4:29 am

Re: Регулярные выражения преобразования вызываемого номера

Сообщение Игорь » Пт апр 07, 2017 5:20 pm

После того, как победил ".tags' doesn't exist", стер этот файл.
Теперь он пустой. Нет там ошибок.

Игорь
Сообщения: 36
Зарегистрирован: Вт янв 03, 2017 4:29 am

Re: Регулярные выражения преобразования вызываемого номера

Сообщение Игорь » Пт апр 07, 2017 8:50 pm

Зато в радиус лог сыпится:
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.

Игорь
Сообщения: 36
Зарегистрирован: Вт янв 03, 2017 4:29 am

Re: Регулярные выражения преобразования вызываемого номера

Сообщение Игорь » Пт апр 07, 2017 9:29 pm

переставил 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 ')

~AsmodeuS~
Site Admin
Сообщения: 5446
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Регулярные выражения преобразования вызываемого номера

Сообщение ~AsmodeuS~ » Сб апр 08, 2017 7:24 am

Игорь писал(а):переставил 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

Игорь
Сообщения: 36
Зарегистрирован: Вт янв 03, 2017 4:29 am

Re: Регулярные выражения преобразования вызываемого номера

Сообщение Игорь » Вс апр 09, 2017 10:48 am

tail /tmp/sql_errors


Пусто там.

~AsmodeuS~
Site Admin
Сообщения: 5446
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Регулярные выражения преобразования вызываемого номера

Сообщение ~AsmodeuS~ » Пн апр 10, 2017 9:54 am

а тут ?

/usr/abills/var/log/sql_errors

~AsmodeuS~
Site Admin
Сообщения: 5446
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Регулярные выражения преобразования вызываемого номера

Сообщение ~AsmodeuS~ » Сб апр 15, 2017 10:25 pm

поправлено


Вернуться в «Voip»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 22 гостя