Asterisk-CDR-Viewer-Mod icon indicating copy to clipboard operation
Asterisk-CDR-Viewer-Mod copied to clipboard

В поле cdr.clid записывается не весь CallerID

Open i1mik1i opened this issue 5 years ago • 0 comments

Debian 9 Asterisk 16.5.1 MySQL 10.1.41

Дополнительно с таблицей cdr используется самописная phonebook с полями id,phone,name. Максимальная длина одной из записей в поле name = 150 символов. При входящих внешних с помощью phone устанавливается соответсвие phone=CallerID(num) и выполняется подстановка CallerId(num)=name. Диалплан: exten => _X.,1,Verbose(Вхідний дзвінок з ${CALLERID(num)}) same => n,MYSQL(Connect connid серверSQL логин_к_базе Пароль_к_базе база) same => n,MYSQL(Query resultid ${connid} SET NAMES utf8mb4) same => n,MYSQL(Query resultid ${connid} SELECT name FROM phonebook WHERE phone="${CALLERID(num)}") same => n,MYSQL(Fetch fetchid ${resultid} name) same => n,NoOP(${fetchid}) same => n,MYSQL(Clear ${resultid}) same => n,Set(CDR(operator)=${name}) ; same => n,Set(CALLERID(name)=${CDR(operator)} same => n,Set(CALLERID(name)=${name}) same => n,Set(CALLERID(name)=${CALLERID(name)}) same => n,MYSQL(Disconnect ${connid}) same => n,Playback(/var/lib/asterisk/sounds/XXXX) same => n,Macro(recording,${CALLERID(num)},${EXTEN}) same => n,Goto(incoming,XXXX,1)

Вывод Verbose: == Using SIP RTP CoS mark 5 > 0x7f5590004560 -- Strict RTP learning after remote address set to: XXX.XXX.XXX.XXX:XXXXXX -- Executing [XXXXXXXXXXX@incoming:1] Verbose("SIP/XXX-00000150", "Вхідний дзвінок з XXXXXXXXXXX") in new stack Вхідний дзвінок з XXXXXXXXXXX -- Executing [XXXXXXXXXXX@incoming:2] MYSQL("SIP/XXX-00000150", "Connect connid серверSQL логин_к_базе Пароль_к_базе база") in new stack -- Executing [XXXXXXXXXXX@incoming:3] MYSQL("SIP/XXX-00000150", "Query resultid 1 SET NAMES utf8mb4") in new stack -- Executing [XXXXXXXXXXX0@incoming:4] MYSQL("SIP/XXX-00000150", "Query resultid 1 SELECT name FROM phonebook WHERE phone="XXXXXXXXXXX"") in new stack -- Executing [XXXXXXXXXXX@incoming:5] MYSQL("SIP/XXX-00000150", "Fetch fetchid 2 name") in new stack -- Executing [XXXXXXXXXXX@incoming:6] NoOp("SIP/XXX-00000150", "1") in new stack -- Executing [XXXXXXXXXXX@incoming:7] MYSQL("SIP/XXX-00000150", "Clear 2") in new stack -- Executing [XXXXXXXXXXX@incoming:8] Set("SIP/XXX-00000150", "CALLERID(name)=Полное имя с базы") in new stack -- Executing XXXXXXXXXXX@incoming:9] Set("SIP/XXX-00000150", "CALLERID(name)=Полное имя с базы") in new stack -- Executing [XXXXXXXXXXX@incoming:10] MYSQL("SIP/XXX-00000150", "Disconnect 1") in new stack -- Executing [XXXXXXXXXXX@incoming:11] Playback("SIP/XXX-00000150", "/var/lib/asterisk/sounds/XXXXXX") in new stack > 0x7f5590004560 -- Strict RTP learning after remote address set to: XXX.XXX.XXX.XXX:XXXXXX > 0x7f5590004560 -- Strict RTP switching to RTP target addressXXX.XXX.XXX.XXX:XXXXXX as source -- <SIP/XXX-00000150> Playing '/var/lib/asterisk/sounds/XXXXXXXi.slin' (language 'en') > 0x7f5590004560 -- Strict RTP learning complete - Locking on source address 212.58.160.197:26992 -- Executing [380931708700@incoming:12] Macro("SIP/XXX-00000150", "recording,XXXXXXXXXXX,XXXXXXXXXXXX") in new stack -- Executing [s@macro-recording:1] Set("SIP/XXX-00000150", "fname=1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXX") in new stack -- Executing [s@macro-recording:2] Set("SIP/XXX-00000150", "path=2019/12/24/") in new stack -- Executing [s@macro-recording:3] Set("SIP/XXX-00000150", "monopt=nice -n 19 /usr/bin/lame -b 32 --silent "/home/calls/2019/12/24/1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXXXX.wav" "/home/calls/2019/12/24/1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXXXX.mp3" && rm -f "/home/calls/2019/12/24/1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXXXX.wav" && chmod o+r "/home/calls/2019/12/24/1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXXXX.mp3"") in new stack -- Executing [s@macro-recording:4] Set("SIP/XXX-00000150", "CDR(filename)=1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXXXX.mp3") in new stack -- Executing [s@macro-recording:5] Set("SIP/XXX-00000150", "CDR(realdst)=XXXXXXXXXXXX") in new stack -- Executing [s@macro-recording:6] Set("SIP/XXX-00000150", "CDR(remoteip)=XXX.XXX.XXX.XXX") in new stack -- Executing [s@macro-recording:7] MixMonitor("SIP/XXX-00000150", "/home/calls/2019/12/24/1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXXXX.wav,b,nice -n 19 /usr/bin/lame -b 32 --silent "/home/calls/2019/12/24/1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXXXX.wav" "/home/calls/2019/12/24/1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXXXX.mp3" && rm -f "/home/calls/2019/12/24/1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXXXX.wav" && chmod o+r "/home/calls/2019/12/24/1577200004.517-2019-12-24-17_06-XXXXXXXXXXXX-XXXXXXXXXXXX.mp3"") in new stack -- Executing [s@macro-recording:8] Verbose("SIP/XXX-00000150", "Exit record")

Возникает проблема с записью в поле clid - записаны не все знаки подставленного СallerId, а именно 43 первых, но в кастомные поля, например operator, запись проходит полная. Поле clid изменено varchar(200).

i1mik1i avatar Dec 24 '19 15:12 i1mik1i