Распознавание речи
В случае использования функционала записи разговоров в том числе переадресованных вызовов в ресурсе Записи разговоров (/record/) отражается record_transfer
record_transfer | bool | Признак записи при переадресации. В случае false записывается канал добавочного номера, в случае true- противоположный канал от добавочного. |
С комбинацией записи в стерео в зависимости от признака record_transfer в случае записи канала добавочного (record_transfer = false) - голос с добавочного будет с левой стороны, а в случае record_transfer = true с правой.
Также возможно распознавание речи в реальном времени на основе событий:
Преобразование речи в текст (speech to text) п.2
Постфактум распознавание речи может выполняться запросом записи разговоров по фильтру start_datetime и end_datetime,
Для исключения внутренних звонков (с добавочный на добавочный) можно использовать логику:
запись flow =out нужно игнорировать, если dest_number содержит клиентский префикс или в редких случаях там может быть просто указан добавочный
например:{ .... "record_uuid": "31456-D9759C52070011EBAE220F22CF0C0E98", .... "flow": "out", "dest_number": "1234*101", (может быть просто 101) ... }, можно прочитать так - исходящий вызов с добавочного атс на добавочный 101, всегда flow out всегда источник вызова- добавочный
flow =in нужно исключить source_number содержащий клиентский префикс или в редких случаях там может быть просто указан добавочный
например:{ .... "record_uuid": "31456-D9759C52070011EBAE220F22CF0C0E98", .... "flow": "in", "source_number": "1234*101", (может быть просто 101) ... }, можно прочитать так - входящий вызов с добавочного 101, всегда при flow in всегда получатель- добавочный
префикс клиента и длину его добавочных можно узнать в ресурсе /client/{client_id}/client/
поля "prefix" и "extension_len", либо определить регулярным выражением (regex):[0-9]{3,6}*[0-9]{2,4}