Приложение C # пытается использовать TAPI с Toshiba CIX - PullRequest
0 голосов
/ 10 ноября 2011

У меня есть приложение C # Tapi, которое я разрабатываю для отправки с компьютера на команды Toshiba CIX tapi, которые направляют на телефоны.Сама линия не важна, так как эта часть работает.Я могу набрать телефон из приложения.Однако, отвечая и не вешая трубку работают неправильно.Когда я пытаюсь отключиться, я получаю эту ошибку:

Эта реализация не требует рекомендаций (Исключение из HRESULT: 0x80040003 (OLE_E_ADVISENOTSUPPORTED)) *

И когда я пытаюсь ответить, я получаю:

Невозможно привести объект COM типа 'System .__ ComObject' к типу интерфейса 'TAPI3Lib.ITBasicCallControl'.Эта операция завершилась неудачно, поскольку вызов QueryInterface для компонента COM для интерфейса с IID '{B1EFC389-9355-11D0-835C-00AA003CCABD}' завершился неудачно из-за следующей ошибки: такой интерфейс не поддерживается (Исключение из HRESULT: 0x80004002 (E_NOINTERFACE)).

Мое приложение основано на: http://www.codeproject.com/KB/IP/devangpro.aspx Мне пришлось сделать делегат для добавления элементов в список из-за перекрестной проблемы, чтобы приложение на кодпроекте было вНаименьший пробег правильно.

Вот разъединение:

IEnumCall ec = ia[line].EnumerateCalls();
        uint arg = 0;
        ITCallInfo ici;
        try
        {
            ec.Next(1,out ici,ref arg);
            ITBasicCallControl bc=(ITBasicCallControl)ici;
            bc.Disconnect(DISCONNECT_CODE.DC_NORMAL);
            ici.ReleaseUserUserInfo();
        }
        catch(Exception exp)
        {
            MessageBox.Show("No call to disconnect!","TAPI3");
        }

А вот и ответ:

        IEnumCall ec = ia[line].EnumerateCalls();
        uint arg=0;
        ITCallInfo ici;
        try
        {
            ec.Next(1,out ici,ref arg);
            ITBasicCallControl bc=(TAPI3Lib.ITBasicCallControl)ici;
            if(!reject)
            {
                bc.Answer();
            }
            else
            {
                bc.Disconnect(DISCONNECT_CODE.DC_REJECTED);
                ici.ReleaseUserUserInfo();
            }
        }
        catch(Exception exp)
        {
            MessageBox.Show("There may not be any calls to answer!     \n\n"+exp.ToString(),"TAPI3");
        }

Ответы [ 2 ]

1 голос
/ 04 августа 2012

Я изменяю tapimediatype с аудио на datamodem, потому что я хочу видеть только идентификатор вызывающего абонента в моем приложении, и это работает Причиной проблемы может быть то, что ваш модем не поддерживает аудио, поэтому вы должны изменить tapimediatype на другой тип

0 голосов
/ 14 февраля 2017

Я столкнулся с той же проблемой в моем проекте, и у меня было много поиска по нему, но я ничего не нашел, проблема была с моим кодом, эта ошибка возникает, только если вы выполняете какие-либо операции без выбора какой-либо строки тапи (устройства).

похоже, вы не выбрали ни одной строки TAPI для выполнения каких-либо операций.

...