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