Ну и как-то убедиться, что Yealink отображает в UTF-8?Есть кастомные решения вставлением в макрос macro-dialout на шаге
Set(CALLERID(all)=${OUTCID_${ARG1}})
функции конвертера
ICONV(ISO8859-5,UTF-8,CALLERID(name))
Ну и как-то убедиться, что Yealink отображает в UTF-8?Есть кастомные решения вставлением в макрос macro-dialout на шаге
Set(CALLERID(all)=${OUTCID_${ARG1}})
функции конвертера
ICONV(ISO8859-5,UTF-8,CALLERID(name))
Телефон отображает - 100%, проверял на предыдущем астере - вначале темы я уже описывал - стоял superfecta и подставлял callerid из tiger, только везде цифру к имени в конце добавлял - иначе имя не показывал.ded писал(а):Так вот это - пробовали?
Есть кастомные решения вставлением в макрос macro-dialout на шаге
Set(CALLERID(all)=${OUTCID_${ARG1}})
функции конвертера
ICONV(ISO8859-5,UTF-8,CALLERID(name))
Ну и как-то убедиться, что Yealink отображает в UTF-8?
и он работает, я не понял где Вы и что описывали.Диалплан
Код: выделить все
exten => 1199,1,set(CALLERID(name)="Василий Печкин")
exten => 1199,2,Dial(SIP/3404,60,Ttr)
Лог в консоли
Код: выделить все
-- Executing [1199@from-internal:1] Set("SIP/3330-00000039", "CALLERID(name)="Василий Печкин"") in new stack
-- Executing [1199@from-internal:2] Dial("SIP/3330-00000039", "SIP/3404,60,Ttr") in new stack
Ну что за вопрос?Можно ли как-то из cli получить callerid?
Так надо тогда исследовать формат хранения данных в TigerCRM?подставлял callerid из tiger, только везде цифру к имени в конце добавлял
Так смотрите в консоль Астериска при исполнении такого звонка! Он же пишет очень точно какие файлы - программы-макросы участвуют в этом запросе.определяется номер, дальше по этому номеру ищется в БД имя и результат возвращается в консоль. Так вот какие файлы - программы-макросы участвуют в этом запросе и как попробовать его сделать вручную поэтапно, чтобы вычислить слабое место?
Как я могу напрямую в dialparties.agi отправить запрос, чтобы он вернул мне callerid ?maxmen77 писал(а):Ну что за вопрос?
callerid формируется в dialparties.agi
Код: Выделить всё
SELECT accountname
FROM vtiger_account
WHERE phone LIKE 'ЗАНЕСЕННЫЙ_В_БД_НОМЕР'
LIMIT 0 , 30
Код: Выделить всё
-- Executing [78612011219@from-pstn:1] Set("SIP/realcomm-00000009", "__FROM_DID=ВХОДЯЩИЙ_НОМЕР") in new stack
-- Executing [78612011219@from-pstn:2] Gosub("SIP/realcomm-00000009", "cidlookup,cidlookup_1,1") in new stack
-- Executing [cidlookup_1@cidlookup:1] MYSQL("SIP/realcomm-00000009", "Connect connid 127.0.0.1 vtigerbase ПАРОЛЬ_К_БД ПОЛЬЗОВАТЕЛЬ_БД") in new stack
-- Executing [cidlookup_1@cidlookup:2] MYSQL("SIP/realcomm-00000009", "Query resultid 1 SELECT accountname FROM vtiger_account WHERE phone LIKE '%ЗАНЕСЕННЫЙ_В_БД_НОМЕР%'") in new stack
-- Executing [cidlookup_1@cidlookup:3] MYSQL("SIP/realcomm-00000009", "Fetch fetchid 2 CALLERID(name)") in new stack
-- Executing [cidlookup_1@cidlookup:4] MYSQL("SIP/realcomm-00000009", "Clear 2") in new stack
-- Executing [cidlookup_1@cidlookup:5] MYSQL("SIP/realcomm-00000009", "Disconnect 1") in new stack
-- Executing [cidlookup_1@cidlookup:6] Return("SIP/realcomm-00000009", "") in new stack
-- Executing [78612011219@from-pstn:3] Gosub("SIP/realcomm-00000009", "app-blacklist-check,s,1") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("SIP/realcomm-00000009", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Set("SIP/realcomm-00000009", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check:3] Return("SIP/realcomm-00000009", "") in new stack
-- Executing [78612011219@from-pstn:4] ExecIf("SIP/realcomm-00000009", "0 ?Set(CALLERID(name)=ЗАНЕСЕННЫЙ_В_БД_НОМЕР)") in new stack
-- Executing [78612011219@from-pstn:5] Set("SIP/realcomm-00000009", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [78612011219@from-pstn:6] Set("SIP/realcomm-00000009", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [78612011219@from-pstn:7] Goto("SIP/realcomm-00000009", "ext-group,600,1") in new stack
-- Goto (ext-group,600,1)
-- Executing [600@ext-group:1] Macro("SIP/realcomm-00000009", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/realcomm-00000009", "AMPUSER=ЗАНЕСЕННЫЙ_В_БД_НОМЕР") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/realcomm-00000009", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/realcomm-00000009", "1?Set(REALCALLERIDNUM=ЗАНЕСЕННЫЙ_В_БД_НОМЕР)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/realcomm-00000009", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/realcomm-00000009", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/realcomm-00000009", "1?report") in new stack
-- Goto (macro-user-callerid,s,10)
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/realcomm-00000009", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/realcomm-00000009", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/realcomm-00000009", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] Set("SIP/realcomm-00000009", "CALLERID(number)=ЗАНЕСЕННЫЙ_В_БД_НОМЕР") in new stack
-- Executing [s@macro-user-callerid:20] Set("SIP/realcomm-00000009", "CALLERID(name)=???????? ??????????") in new stack
-- Executing [s@macro-user-callerid:21] NoOp("SIP/realcomm-00000009", "Using CallerID "???????? ??????????" <ЗАНЕСЕННЫЙ_В_БД_НОМЕР>") in new stack
Код: Выделить всё
SELECT accountname FROM vtiger_account WHERE phone LIKE 'ПРОВЕРРОЧНЫЙ_НОМЕР_ИЗ_БД';
Код: Выделить всё
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
Код: Выделить всё
exten => cidlookup_1,n,MYSQL(Query resultid ${connid} SET NAMES utf8;)
Код: Выделить всё
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
Код: Выделить всё
exten => cidlookup_1,n,MYSQL(Query resultid ${connid} SET NAMES utf8;)
А о чём думалось, когда добавляли в extensions_additional.conf? Вы в курсе какие файлы можно и нужно править, а какие - нет?вот тут и прозрел.... решил пойти самым коротким путём - добавлением строки
Код: выделить все
exten => cidlookup_1,n,MYSQL(Query resultid ${connid} SET NAMES utf8;)
в extensions_additional.conf в [cidlookup]
Код: Выделить всё
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
; this file must be done via the web gui. There are alternative files to make ;
; custom modifications, details at: http://freepbx.org/configuration_files ;
;--------------------------------------------------------------------------------;