πŸ“² Π›ΠΈΠΏΠΊΠΎΡΡ‚ΡŒ Π·Π²ΠΎΠ½ΠΊΠ°

ИспользованиС IVR мСню, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСм, позволяСт эффСктивно Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ входящиС Π·Π²ΠΎΠ½ΠΊΠΈ ΠΈ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ с сСкрСтаря. ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π·Π²ΠΎΠ½ΠΈΡ‚, Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π» Π»ΠΈΠ±ΠΎ Π΄ΠΎ Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ€ сотрудника ΠΈ достигаСт Ρ†Π΅Π»ΠΈ. Но, ΠΊΠ°ΠΊ Π±Ρ‹Ρ‚ΡŒ Π² ситуации, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΊΠΎΠΌΡƒ ΠΎΠ½ Π·Π²ΠΎΠ½ΠΈΡ‚? Π§Ρ‚ΠΎ Ссли это наш ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π½Π΅ смог дозвонится ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π·Π²ΠΎΠ½ΠΈΠ» ΠΈ ΠΏΠΎΠΏΠ°Π» Π½Π° IVR? Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» «Π›ΠΈΠΏΠΊΠΎΡΡ‚ΠΈ Π·Π²ΠΎΠ½ΠΊΠ°». ΠœΡ‹ ΡƒΠΆΠ΅ рассматривали Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ: Входящий Π·Π²ΠΎΠ½ΠΎΠΊ с ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° отвСтствСнного Π² bpm’online. БСгодня ΠΌΡ‹ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° Ρ‚ΠΎΠ³ΠΎ, ΠΊΡ‚ΠΎ сСгодня ΡƒΠΆΠ΅ общался с Π΄Π°Π½Π½Ρ‹ΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Π»ΠΈΠ±ΠΎ Π·Π²ΠΎΠ½ΠΈΠ» Π΅ΠΌΡƒ. ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΠΌ!

Kibana Π½Π°ΠΌ Π² ΠΏΠΎΠΌΠΎΡ‰ΡŒ

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π°ΠΌ понадобится ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ cdr, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для поиска ΠΏΠΎ ΠΆΡƒΡ€Π½Π°Π»Ρƒ Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π² elasticsearch. Π’ Π½Π°Ρ‡Π°Π»Π΅, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ запрос. Π”Π΅Π»Π°Π΅ΠΌ тСстовый Π·Π²ΠΎΠ½ΠΎΠΊ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ интСрфСйс Kibana, Ρ€Π°Π·Π΄Π΅Π» Discover. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ для отобраТСния ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ extension (Π½ΠΎΠΌΠ΅Ρ€ сотрудника), caller_id_number (Π½ΠΎΠΌΠ΅Ρ€ Π°Π±ΠΎΠ½Π΅Π½Ρ‚Π°), destination (Π½ΠΎΠΌΠ΅Ρ€ назначСния).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ сдСлаСм запрос с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Π°Π±ΠΎΠ½Π΅Π½Ρ‚Π°, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ Π² Π½ΠΎΠΌΠ΅Ρ€Π΅ назначСния (для исходящих) Π»ΠΈΠ±ΠΎ Π² Π½ΠΎΠΌΠ΅Ρ€Π΅ Π°Π±ΠΎΠ½Π΅Π½Ρ‚Π° (для входящих):

destination_number:/0969716158/ OR caller_id_number:/0969716158/

Как Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ сотрудника, extension, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ общался Π»ΠΈΠ±ΠΎ Π·Π²ΠΎΠ½ΠΈΠ» Π°Π±ΠΎΠ½Π΅Π½Ρ‚Ρƒ. И ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Response (ΠΎΡ‚Π²Π΅Ρ‚ со стороны elasticsearh), ΠΎΠ½ Π½Π°ΠΌ пригодится Π½ΠΈΠΆΠ΅:

И Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΌΡ‹ ΡƒΠΆΠ΅ поняли, Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ это всС Π² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° сторонС Webitel.

Запрос Π² CDR

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ cdr, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ запрос Π² elasticsearch

{
"limit": 1,
"sort": {
"created_time": {
"order": "desc",
"unmapped_type": "boolean"
}
},
"index": "cdr-a",
"query": "",
"columns": [
"extension"
],
"filter": [
{
"bool": {
"must": [
{
"range": {
"created_time": {
"gte": "now/d",
"lte": "now"
}
}
},
{
"query_string": {
"query": "destination_number:/.
${caller_id_number}/ OR caller_id_number:/.${caller_id_number}/",
"analyze_wildcard": true,
"default_field": "
"
}
}
]
}
}
]
}

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ запрос:

limit- ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ записСй. 1 — Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСднСго звонившСго.

sort — Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΡ‚ Π½ΠΎΠ²Ρ‹Ρ… ΠΊ старым, ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ — Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдний.

index — Π’ ΠΊΠ°ΠΊΠΎΠΌ индСксС ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ поиск: cdr-a

columns — КакиС поля Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ — Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Π½ΠΎΠΌΠ΅Ρ€ сотрудника: extension

query_string — Π‘Ρ‚Ρ€ΠΎΠΊΠ° запроса Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° ΠΊΠ°Π½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ caller_id_number

range — Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»: начиная с 00:00 Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ дня Π΄ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ.

А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ посмотрим Π½Π° ΠΎΡ‚Π²Π΅Ρ‚ со стороны elasticsearh:

{
"took": 4,
"timed_out": false,
"_shards": {
"total": 10,
"successful": 10,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 5,
"max_score": null,
"hits": [
{
"_index": "cdr-a-2019-.bpmonline.com",
"_type": "cdr",
"_id": "bb643481-310a-45cb-8c4e-95244c8e02b8",
"_score": null,
"fields": {
"extension": [
"115"
]
},
"sort": [
1547032525216
]
}
]
}
}

Π§Ρ‚ΠΎ Π±Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ полю extension, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΡƒΡ‚ΡŒ: hits => hits => fields => extension

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ Π½Π°ΡˆΡƒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² Public

ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ входящСго Π·Π²ΠΎΠ½ΠΊΠ°

Π£ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ IVR мСню, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, ΠΈ Ссли Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π΅ пустой, попытаСмся ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ с Π½ΡƒΠΆΠ½Ρ‹ΠΌ сотрудников (Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ userData Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ условиС, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» Π² статусС onhook — Π“ΠΎΡ‚ΠΎΠ²). Если сотрудник Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 15 сСкунд, Ρ‚ΠΎΠ³Π΄Π° ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π°ΡˆΡƒ Ρ‚ΠΈΠΏΠΎΠ²ΡƒΡŽ IVR схСму:

["Π½Π°Ρ‡Π°Π»ΠΎ схСмы"],

{
    "cdr": {
        "exportVar": {
            "last_cid": "hits.hits.0.fields.extension.0"
        },
        "elastic": {
            "limit": 1,
            "sort": {
                "created_time": {
                    "order": "desc",
                    "unmapped_type": "boolean"
                }
            },
            "index": "cdr-a",
            "query": "*",
            "columns": [
                "extension"
            ],
            "filter": [
                {
                    "bool": {
                        "must": [
                            {
                                "range": {
                                    "created_time": {
                                        "gte": "now/d",
                                        "lte": "now"
                                    }
                                }
                            },
                            {
                                "query_string": {
                                    "query": "caller_id_number:/.*${caller_id_number}/ AND destination_number:${destination_number}",
                                    "analyze_wildcard": true,
                                    "default_field": "*"
                                }
                            }
                        ]
                    }
                }
            ]
        }
    }
},
{
    "if": {
        "expression": "${last_cid}",
        "then": [
            {
                "userData": {
                    "name": "${last_cid}",
                    "var": "account_state",
                    "setVar": "acc_state"
                }
            },
            {
                "log": "CID: ${caller_id_number}, Ext: ${last_cid} (${acc_state})"
            },
            {
                "if": {
                    "expression": "${last_cid} && ${acc_state} == 'onhook'",
                    "then": [
                        {
                           "bridge": {
                               "endpoints": [
                                     {
                                       "name": "${last_cid}",
                                       "type": "user",
                                       "parameters": [
                                          "leg_timeout=15"
                                       ]
                                    }
                                 ]
                             }
                        }
                    ]
                }
            }
        ]
    }
},

["ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ схСмы"]

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ e-mail Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *

Π­Ρ‚ΠΎΡ‚ сайт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Akismet для Π±ΠΎΡ€ΡŒΠ±Ρ‹ со спамом. Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ваши Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².