Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
install_local_version_fpbx [2022/02/07 06:57] Евгений Романенко |
install_local_version_fpbx [2023/02/16 13:46] (текущий) Евгений Романенко |
||
---|---|---|---|
Строка 22: | Строка 22: | ||
Module 'cdr_adaptive_odbc.so' reloaded successfully. | Module 'cdr_adaptive_odbc.so' reloaded successfully. | ||
localhost*CLI> </code> | localhost*CLI> </code> | ||
- | - Далее настроим внесение realsrc и realdst-полей в cdr. \\ \\ Отредактируйте /etc/asterisk/extensions_override_freepbx.conf, внеся в него <code>[sub-record-check] | + | - Далее настроим внесение realsrc и realdst-полей в cdr. \\ \\ Отредактируйте /etc/asterisk/extensions_override_freepbx.conf, внеся в него <code>[ext-did-catchall] |
+ | include => ext-did-catchall-custom | ||
+ | exten => _.,1,Noop(Catch-All DID Match - Found ${EXTEN} - You probably want a DID for this.) | ||
+ | exten => _.,n,Set(__FROM_DID=${EXTEN}) | ||
+ | exten => _.,n,Set(_VISTEPRUREALDST=${FROM_DID}) | ||
+ | exten => _.,n,Set(_VISTEPRUREALSRC=${CALLERID(num)}) | ||
+ | exten => _.,n,Set(CDR(realsrc)=${VISTEPRUREALSRC}) | ||
+ | exten => _.,n,Set(CDR(realdst)=${VISTEPRUREALDST}) | ||
+ | exten => _.,n,Goto(ext-did,s,1) | ||
+ | |||
+ | [sub-record-check] | ||
include => sub-record-check-custom | include => sub-record-check-custom | ||
exten => s,1,GotoIf($[${LEN(${FROMEXTEN})}]?initialized) | exten => s,1,GotoIf($[${LEN(${FROMEXTEN})}]?initialized) | ||
Строка 92: | Строка 102: | ||
exten => in,1,Noop(Inbound Recording Check to ${ARG2}) | exten => in,1,Noop(Inbound Recording Check to ${ARG2}) | ||
exten => in,n,Set(FROMEXTEN=unknown) | exten => in,n,Set(FROMEXTEN=unknown) | ||
+ | exten => in,n,ExecIf($[${LEN(${FROM_DID})}]?Set(_VISTEPRUREALDST=${FROM_DID})) | ||
exten => in,n,ExecIf($[${LEN(${CALLERID(num)})}]?Set(FROMEXTEN=${CALLERID(num)})) | exten => in,n,ExecIf($[${LEN(${CALLERID(num)})}]?Set(FROMEXTEN=${CALLERID(num)})) | ||
- | exten => in,n,Set(_VISTEPRUREALDST=${ARG2}) | + | exten => in,n,ExecIf($[${LEN(${VISTEPRUREALDST})}]?NoOp("=== VISTEPRUREALDST has already been set ==="):Set(_VISTEPRUREALDST=${ARG2})) |
- | exten => in,n,Set(_VISTEPRUREALSRC=${FROMEXTEN}) | + | exten => in,n,ExecIf($[${LEN(${VISTEPRUREALSRC})}]?NoOp("=== VISTEPRUREALSRC has already been set ==="):Set(_VISTEPRUREALSRC=${FROMEXTEN})) |
exten => in,n,Set(CDR(realsrc)=${VISTEPRUREALSRC}) | exten => in,n,Set(CDR(realsrc)=${VISTEPRUREALSRC}) | ||
exten => in,n,Set(CDR(realdst)=${VISTEPRUREALDST}) | exten => in,n,Set(CDR(realdst)=${VISTEPRUREALDST}) | ||
Строка 157: | Строка 168: | ||
exten => parking,n,Return() | exten => parking,n,Return() | ||
- | ;--== end of [sub-record-check] ==--;</code> \\ и выполните команду <code>dialplan reload</code> в консоли Asterisk \\ **Код проверен на FreePBX 13.0.191.11 и 14.0.2.10 .** \\ Если мажорная (13 в данном примере) версия FreePBX у вас отличается, то контекст [sub-record-check] может быть немного другим. Напишите нам на <support@vistep.ru> и мы поможем с написанием диалплана данного контекста. | + | ;--== end of [sub-record-check] ==--;</code> \\ и выполните команду <code>dialplan reload</code> в консоли Asterisk \\ **Код проверен на FreePBX 13.0.191.11, 14.0.2.10 и 15.0.23.25.** \\ Если мажорная (13 в данном примере) версия FreePBX у вас отличается, то контекст [sub-record-check] может быть немного другим. Напишите нам на <support@vistep.ru> и мы поможем с написанием диалплана данного контекста. |
- Теперь научим FreePBX писать табличку queue_log. \\ Отправляемся в web-интерфейс и создаем новый файл под именем **extconfig.conf**, кликнув Add New File. \\ Внести в него нужно лишь одну строчку <code bash>[settings] | - Теперь научим FreePBX писать табличку queue_log. \\ Отправляемся в web-интерфейс и создаем новый файл под именем **extconfig.conf**, кликнув Add New File. \\ Внести в него нужно лишь одну строчку <code bash>[settings] | ||
queue_log => odbc,asteriskcdrdb</code> Скрин: {{https://img.vistep.ru/i/5347bc8b8a5a1f66dd9c87a7c980.png}} *не забываем про Save и Apply Configs \\ После выполнения данных действий и совершения звонков в очереди, запрос из консоли mysql <code sql>select * from queue_log;</code> должен вернуть вам нечто подобное {{https://img.vistep.ru/i/7d2a89142a30ddd7ea0c36e2443b.png}} *на запрос в скрине не ориентируйтесь, там мы специально добавили условие, чтобы сократить выхлоп | queue_log => odbc,asteriskcdrdb</code> Скрин: {{https://img.vistep.ru/i/5347bc8b8a5a1f66dd9c87a7c980.png}} *не забываем про Save и Apply Configs \\ После выполнения данных действий и совершения звонков в очереди, запрос из консоли mysql <code sql>select * from queue_log;</code> должен вернуть вам нечто подобное {{https://img.vistep.ru/i/7d2a89142a30ddd7ea0c36e2443b.png}} *на запрос в скрине не ориентируйтесь, там мы специально добавили условие, чтобы сократить выхлоп |