Привет.
Есть желание написать клиента, который будет ловить то, что выдаёт тел.станция по SMDR и складывать это в postgresql.
Где почитать как это правильно делать на QT?
Да, станция отдаёт всё по tcp/5100. Как я понимаю, для взаимодействия с ней нужно использовать QTcpSocket.
Пример лога со станции
SMDR REPORT FOR [ ] Apr/08/2009 12:46
================================================================================
T EXT AUTH TRK MM/DD STT.TIME DURATION FG DIALED DIGIT COST
================================================================================
1 2822 *704 04/08 12:48:09 00:00:25 O 4828546 0.00
1 2837 *703 04/08 12:49:08 00:00:06 I 0.00
1 2824 *704 04/08 12:49:11 00:00:03 O 3240524 0.00
1 2843 *705 04/08 12:46:47 00:04:01 O 3183180 0.00
1 2861 *703 04/08 12:51:31 00:00:47 I 0.00
1 2803 *704 04/08 12:53:14 00:00:08 IT 0.00
1 2824 *704 04/08 12:53:22 00:01:49 T 0.00
1 2847 *705 04/08 12:53:18 00:03:59 O 3268969 0.00
1 2822 *704 04/08 12:56:07 00:01:30 O 3292219 0.00
1 2861 *703 04/08 13:02:54 00:00:11 IT 0.00
1 2839 *703 04/08 13:03:04 00:00:47 T 0.00
1 2861 *703 04/08 13:04:38 00:00:16 IT 0.00
1 2839 *703 04/08 13:04:53 00:00:38 T 0.00
1 2846 *705 04/08 13:05:15 00:00:13 O 5401295 0.00
Как я себе вижу логику.
Это должен быть linux'овый демон, которого можно пинать через start|stop.
При старте он цепляется за станционный SMDR, который вещает с tcp/5100 и читает то, что станция ему выдаёт, полученные данные парсит и складывает в postgresql. Если соединение со станцией порвалось, то пытается его восстановить.