[asterisk-bugs] [JIRA] (ASTERISK-28069) Dropping CDRs records with local languages
Kirill Nikitin (JIRA)
noreply at issues.asterisk.org
Sun Sep 23 09:13:54 CDT 2018
Kirill Nikitin created ASTERISK-28069:
-----------------------------------------
Summary: Dropping CDRs records with local languages
Key: ASTERISK-28069
URL: https://issues.asterisk.org/jira/browse/ASTERISK-28069
Project: Asterisk
Issue Type: Bug
Security Level: None
Components: CDR/cdr_pgsql
Affects Versions: 13.23.0, 13.19.0, 13.23.1
Environment: Debian 3.16.51-2
psql (PostgreSQL) 9.4.15
Reporter: Kirill Nikitin
If in CDR record appears local language Asterisk may corrupt data and fail to write them in database.
How to reproduce:
1. Create context in extensions in the database with some line in local language.
Encoding of database must be UTF-8.
Example (with Russian):
173705
text-machine dbd54025c33844fbe672835e5960c0b7 NoOp ------------- Text Machine -------------
1
173706
text-machine dbd54025c33844fbe672835e5960c0b7 Answer
2
173707
text-machine dbd54025c33844fbe672835e5960c0b7 Hangup
9
173708
text-machine dbd54025c33844fbe672835e5960c0b7 AGI say.php,"Уважаемый Иванов Иван Иванович"
3
173709
text-machine dbd54025c33844fbe672835e5960c0b7 AGI say.php,"приглашаем вас пройти профосмотр первого августа"
4
173710
text-machine dbd54025c33844fbe672835e5960c0b7 AGI say.php,"по адресу улица казахстанская, дом номер один, кабинет номер двадцать"
5
173711
text-machine dbd54025c33844fbe672835e5960c0b7 AGI say.php,"При себе иметь удостоверение личности"
6
173712
text-machine dbd54025c33844fbe672835e5960c0b7 Wait 5
7
Since database accept this no special characters in that context exists.
Initiate a call and drop a call to force asterisk write Russian characters in lastapp field in CDR.
You will receive:
[2018-09-18 19:15:04] ERROR[10904]: cdr_pgsql.c:439 pgsql_log: Failed to insert call detail record into database!
[2018-09-18 19:15:04] ERROR[10904]: cdr_pgsql.c:440 pgsql_log: Reason: ERROR: invalid byte sequence for encoding "UTF8": 0xd0 0x20
[2018-09-18 19:15:04] ERROR[10904]: cdr_pgsql.c:441 pgsql_log: Connection may have been lost... attempting to reconnect.
[2018-09-18 19:15:04] ERROR[10904]: cdr_pgsql.c:444 pgsql_log: Connection reestablished.
[2018-09-18 19:15:04] ERROR[10904]: cdr_pgsql.c:452 pgsql_log: HARD ERROR! Attempted reconnection failed. DROPPING CALL RECORD!
[2018-09-18 19:15:04] ERROR[10904]: cdr_pgsql.c:453 pgsql_log: Reason: ERROR: invalid byte sequence for encoding "UTF8": 0xd0 0x20
Since CDR and context are in the same database - I think this is not database locale settings.
We test it on different 13.XX versions
We test in on PostgreSQL 9.4.XX and 9.6.XX
Byte sequence in error message varies a little, but first byte always 0xd0
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list