-
Возникла следующая проблема : Когда приходит входной звонок немогу поднять трубку, хотя ф-я lineanswer возвращает положытельное значение. В чем может быть причина ???
Пробовал так 1)
procedure lineCallBack (hDevice,dwMsg,dwCallbackInstance,dwParam1,dwParam2,dwParam3:dword);stdcall; var err:longint; begin if dwmsg = LINE_APPNEWCALL then begin form1.ListBox1.Items.Add('RING'); err:=lineSetCallPrivilege(dwparam2,LINECALLPRIVILEGE_OWNER ); form1.listbox1.items.add('lineSetCallPrivilege= '+inttostr(err)); err:=lineanswer(dwparam2,nil,0); form1.listbox1.items.add('lineanswer= '+inttostr(err)); end;
2)
procedure lineCallBack (hDevice,dwMsg,dwCallbackInstance,dwParam1,dwParam2,dwParam3:dword);stdcall; var err:longint; hc:hcall;
if dwmsg = LINECALLSTATE_OFFERING then begin form1.ListBox1.Items.Add('RING1'); hc:=hcall(hdevice); err:=lineSetCallPrivilege(hc,LINECALLPRIVILEGE_OWNER ); form1.listbox1.items.add('lineSetCallPrivilege= '+inttostr(err)); err:=lineanswer(hc,P,SIZEOF(P)); form1.listbox1.items.add('lineanswer= '+inttostr(err));
В обоих случаях ф-и lineSetCallPrivilege и lineanswer возвращают код успешного завершения (соответственно 0 и >0)
ф-я lineopen выглядит так и результатом ее выполнения есть 0.
err1:=lineopen(lineapp,dwTapiDeviceID,@f_hline,dwAPIVersion,0,0,LINECALLPRIVILEG E_MONITOR + LINECALLPRIVILEGE_OWNER , LINEMEDIAMODE_INTERACTIVEVOICE, nil);
-
В первом случае lineanswer возвращает LINEERR_INVALCALLSTATE(The call state is invalid.)
|