Стояла задача связать давно прижившийся у нас комплекс записи разговоров SpRecord с смдр от нашей АТС. Захотелось хранить все яйца в одной корзине, всмысле привязать записи внешних линий к конкретному экстеншну.
Последние две версии SpRecord научились парсить логи смдр. Правда из заявленных производителем были только сименс и панасоник.
Обнаружил папочку \SpRecord3\ATSModels , поизучал структуру и решил дописать правила и для своей LDK-100
Получил простенький файлик ldk100.ini :
------------
[Date]
Format=dd/mm/yy
Offset=24
Length=8
[Time]
Format=hh:mm
Offset=33
Length=5
[Ext]
Format=
Offset=5
Length=3
[CO]
Format=
Offset=11
Length=3
[NumberIn]
Format=
Offset=40
Length=20
[NumberOut]
Format=
Offset=40
Length=20
[Duration]
Format=hh:mm:ss
Offset=15
Length=8
[Incoming]
Format=I
Offset=39
Length=1
[Transfered]
Format=t
Offset=39
Length=1
-------------------------------------------
Далее настройка SpRecord:
там все относительно интуитивно, однако нужно не забывать проставить следующие параметры:
в параметрах каждого канала во вкладке дополнительно
проставить галочку "Использовать информацию протокола SMDR
не ставить галочку "Начинать новую запись при переводе вызова"
проставить галочки в "Не использоватьинформацию смдр о телефонном номере при входящем вызове" и "не использовать информацию протокола смдр при исходящем вызове"
Сделано для того, чтобы в БД спрекорда информация попадала только постфактум, после окончания соединения. Иначе в бд начинается чехарда и неразбериха, ибо смдр выводит данные только по окончанию.
В общем получилось просто, дёшево и сердито.
Да, естественно, при таком раскладе в БД попадает только последний говоривший экстеншн. Ну для нашей сб и это очень даже весомо. К тому же все логи смдр SpRecord сохраняет, по достижению 60кб начиная новый.