У меня есть программа, которая использует panasonic TSP для получения событий от Panasonic PBX, а затем выполняет определенные действия с полученными событиями.
Я никогда не вызываю какую-либо функцию, которая создает изменение состояния в УАТС и интересуется только событиями, поэтому я использую только lineGetCallInfo
а также lineGetCallStatus
,
Теперь у меня проблема:
Panasonic TSP создает нарушение прав доступа в svchost.exe
(служба телефонии Windows) и, таким образом, я не могу получать события от TAPI.
Мой начальник не согласен с тем, что при использовании TAPI возникает какая-то проблема, но я использую только несколько функций, есть ли у кого-то такая же проблема или знаете, где мне найти дополнительную информацию? или вообще как мне отладить эту ошибку?
Я программирую на C ++
Интерфейс TAPI 2 с IOCP
и моя программа работает на Windows Server 2003
У меня АТС TDA600 с очень высокой нагрузкой
Не могли бы вы указать, когда или как часто происходит сбой TSP?
Одно из возможных объяснений может состоять в том, что даже если вы используете несколько функций, TSP может ожидать, что вы вызовете ‘lineDeallocateCall’ для события callstate ‘idle’, чтобы TSP знал, что он может очистить память. Пренебрежение этим может привести к переполнению буферов и нарушениям доступа. Конечно, это потребует некоторого небрежного программирования со стороны Panasonic, но это теория.
Других решений пока нет …