[asterisk-bugs] [JIRA] (ASTERISK-30413) app_queue: UnpauseQueueMember generate generating string invalid in lastapp and lastdata

Joshua C. Colp (JIRA) noreply at issues.asterisk.org
Wed Feb 1 13:26:03 CST 2023


     [ https://issues.asterisk.org/jira/browse/ASTERISK-30413?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Joshua C. Colp updated ASTERISK-30413:
--------------------------------------

    Assignee: Luiz Rogério dos Santos
      Status: Waiting for Feedback  (was: Triage)

Please provide complete dialplan to reproduce this.

> app_queue: UnpauseQueueMember generate generating string invalid in lastapp and lastdata
> ----------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-30413
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-30413
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_adsiprog
>    Affects Versions: 18.15.0
>         Environment: Debian 11
> Asterisk 18.15.0
> Function UnpauseQueueMember()
>            Reporter: Luiz Rogério dos Santos
>            Assignee: Luiz Rogério dos Santos
>
> After posting to the community, I was asked to create this issue.
> As this is the first time, I apologize if this is not the case.
> Afert hangup agent loged current error.
> same => n,UnpauseQueueMember(,Local/3000 at agent)
> I made several changes to test in the odbc driver and also in the database for utf8mb4 and for utf8, I didn’t get any results, I did a log collection, the problem always occurs when I finish the camal call with a logged in agent, thus generating the variable lastdata and lastapp with strange characters.
> >>>>>>. Debug full log asterisk <<<<<<
> [2023-02-01 14:59:26] DEBUG[292578] res_odbc.c: Reusing ODBC handle 0x7f75f8149bb0 from class ‘asterisk’
> [2023-02-01 14:59:26] DEBUG[292578] res_config_odbc.c: Skip: 0; SQL: SELECT * FROM ps_endpoints WHERE id = ?
> [2023-02-01 14:59:26] WARNING[292586] res_odbc.c: SQL Execute returned an error: 22007: [ma-3.1.9][10.5.18-MariaDB-0+deb11u1-log]Incorrect string value: ‘\xDFv0v\007F’ for column asterisk.cdr.lastapp at row 1
> [2023-02-01 14:59:26] WARNING[292586] res_odbc.c: SQL Execute error -1!
> [2023-02-01 14:59:26] WARNING[292586] cdr_adaptive_odbc.c: cdr_adaptive_odbc: Insert failed on ‘asterisk:cdr’. CDR failed: INSERT INTO cdr (calldate, answer, end, src, dst, dcontext, channel, lastapp, lastdata, duration, billsec, disposition, amaflags, accountcode, uniqueid, linkedid, sequence, callrec) VALUES ({ ts ‘2023-02-01 14:57:43’ }, { ts ‘2023-02-01 14:57:47’ }, { ts ‘2023-02-01 14:59:26’ }, ‘8000’, ‘h’, ‘APPLICATION-20’, ‘PJSIP/8000-00000006’, ‘x�v0v’, ‘p�v0v’, 102, 99, ‘ANSWERED’, 3, ‘8000’, ‘1675274263.18’, ‘1675274263.18’, 6, 1)
> [2023-02-01 14:59:26] DEBUG[292586] res_odbc.c: Releasing ODBC handle 0x7f75f8168940 into pool
> [2023-02-01 14:59:26] DEBUG[292586] stasis.c: Creating topic. name: channel:1675274366.19, detail:
> [2023-02-01 14:59:26] DEBUG[292586] stasis.c: Topic ‘channel:1675274366.19’: 0x7f75d80154e0 created
> [2023-02-01 14:59:26] DEBUG[292578] res_config_odbc.c: Parameter 1 (‘id’) = ‘8000’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(start) result is ‘2023-02-01 14:57:43’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(clid) result is ‘“8000 pjsip” <8000>’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(dcontext) result is ‘APPLICATION-20’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(channel) result is ‘PJSIP/8000-00000006’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(dstchannel) result is ‘’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(lastapp) result is ‘x�v0v’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(lastdata) result is ‘p�v0v’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(duration,f) result is ‘102.940045’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(billsec,f) result is ‘99.203213’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(disposition) result is ‘ANSWERED’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(amaflags) result is ‘DOCUMENTATION’
> [2023-02-01 14:59:26] DEBUG[292586] pbx_variables.c: Function CDR(accountcode) result is ‘8000’
> <<<<<< Debug verbose CLI >>>>>
> Executing [s at gosub-endagentlogin:5] MYSQL(“PJSIP/8000-00000007”, “Disconnect 1”) in new stack
> – Executing [s at gosub-endagentlogin:6] UnpauseQueueMember(“PJSIP/8000-00000007”, “,Local/1999 at queue_agents”) in new stack
> – Executing [s at gosub-endagentlogin:7] Return(“PJSIP/8000-00000007”, “”) in new stack
> 0x7f75d80214d0 - Transitioning CDR for PJSIP/8000-00000007 from state Single to Finalized
> 0x7f75d80214d0 - Beginning finalize/dispatch for PJSIP/8000-00000007
> 0x7f75d80214d0 - Dispatching CDR for Party A PJSIP/8000-00000007, Party B
> [2023-02-01 15:05:48] WARNING[292586]: res_odbc.c:529 ast_odbc_print_errors: SQL Execute returned an error: 22007: [ma-3.1.9][10.5.18-MariaDB-0+deb11u1-log]Incorrect string value: ‘\xDFv0v\007F’ for column asterisk.cdr.lastapp at row 1
> [2023-02-01 15:05:48] WARNING[292586]: res_odbc.c:424 ast_odbc_prepare_and_execute: SQL Execute error -1!
> [2023-02-01 15:05:48] WARNING[292586]: cdr_adaptive_odbc.c:766 odbc_log: cdr_adaptive_odbc: Insert failed on ‘asterisk:cdr’. CDR failed: INSERT INTO cdr (calldate, answer, end, src, dst, dcontext, channel, lastapp, lastdata, duration, billsec, disposition, amaflags, accountcode, uniqueid, linkedid, sequence, callrec) VALUES ({ ts ‘2023-02-01 15:03:21’ }, { ts ‘2023-02-01 15:03:26’ }, { ts ‘2023-02-01 15:05:48’ }, ‘8000’, ‘h’, ‘APPLICATION-20’, ‘PJSIP/8000-00000007’, ‘x�v0v’, ‘p�v0v’, 146, 141, ‘ANSWERED’, 3, ‘8000’, ‘1675274601.21’, ‘1675274601.21’, 7, 1)
> <<<< File /etc/odbc.ini >>>>
> [asterisk]
> Driver = MariaDB
> Description = MariaDB connection to database
> Server = 127.0.0.1
> Port = 3306
> Database = asterisk
> UserName = asterisk
> Password = xxxxxxxx
> Socket = /var/run/mysqld/mysqld.sock
> CharSet = UTF8
> <<<<< File /etc/odbcinst.ini >>>>>
> [MariaDB]
> Driver=libmaodbc.so
> Description=MariaDB Connector/ODBC(Unicode)
> Threading=0
> UsageCount=2
> <<<< Mariadb Server version: 10.5.18-MariaDB-0+deb11u1-log Debian 11 >>>
> show variables like ‘%coll%’;
> ±---------------------±----------------+
> | Variable_name | Value |
> ±---------------------±----------------+
> | collation_connection | utf8_general_ci |
> | collation_database | utf8_general_ci |
> | collation_server | utf8_general_ci |
> ±---------------------±----------------+
> show variables like ‘%cha%’;
> ±------------------------------±---------------------------+
> | Variable_name | Value |
> ±------------------------------±---------------------------+
> | character_set_client | utf8 |
> | character_set_connection | utf8 |
> | character_set_database | utf8 |
> | character_set_filesystem | binary |
> | character_set_results | utf8 |
> | character_set_server | utf8 |
> | character_set_system | utf8 |
> | character_sets_dir | /usr/share/mysql/charsets/ |
> | innodb_change_buffer_max_size | 25 |
> | innodb_change_buffering | none |
> | session_track_state_change | OFF |
> show create database asterisk;
> ±---------±----------------------------------------------------------------------------------------+
> | Database | Create Database |
> ±---------±----------------------------------------------------------------------------------------+
> | asterisk | CREATE DATABASE asterisk /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci */ |
> show create table cdr;
> | cdr | CREATE TABLE cdr (
> calldate datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
> answer datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
> end datetime NOT NULL DEFAULT ‘0000-00-00 00:00:00’,
> clid varchar(80) NOT NULL DEFAULT ‘’,
> src varchar(80) NOT NULL DEFAULT ‘’,
> dst varchar(80) NOT NULL DEFAULT ‘’,
> dcontext varchar(80) NOT NULL DEFAULT ‘’,
> channel varchar(80) NOT NULL DEFAULT ‘’,
> dstchannel varchar(80) NOT NULL DEFAULT ‘’,
> lastapp varchar(80) DEFAULT NULL,
> lastdata varchar(80) NOT NULL DEFAULT ‘’,
> duration int(10) unsigned NOT NULL DEFAULT 0,
> billsec int(10) unsigned NOT NULL DEFAULT 0,
> disposition varchar(45) NOT NULL DEFAULT ‘’,
> amaflags int(4) unsigned NOT NULL DEFAULT 0,
> accountcode varchar(80) DEFAULT NULL,
> userfield varchar(255) NOT NULL DEFAULT ‘’,
> uniqueid varchar(32) NOT NULL DEFAULT ‘’,
> linkedid varchar(32) NOT NULL,
> sequence int(10) unsigned NOT NULL,
> peeraccount varchar(80) DEFAULT ‘’,
> callednum varchar(80) DEFAULT NULL,
> carrier varchar(25) DEFAULT NULL,
> callrec tinyint(1) DEFAULT NULL,
> callfile varchar(150) DEFAULT NULL,
> calltype enum(‘in’,‘out’,‘ext’,‘inApp’,‘outApp’,‘transit’) DEFAULT NULL,
> sip_out_ip varchar(15) DEFAULT ‘’,
> sip_out_useragent varchar(255) DEFAULT ‘’,
> hangupcause int(10) unsigned DEFAULT 0,
> CONSTRAINT CONSTRAINT_1 CHECK (callrec in (0,1))
> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci |
> ±---------±----------------------------------------------------------------------------------------+



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list