/mcp(LPCSTR)theDestNumber)) ) { sDialable = to.GetDialableString(); } } TRESULT tr = pCall->MakeCall((LPCSTR)sDialable, 0, this); if( TPENDING(tr) || TSUCCEEDED(tr)) { //GCGC the correct hCall pointer is not being returned yet if (translateAddr) Fire_MakecallReply(hLine, (long)tr, (long)pCall->GetHandle(), sDialable.AllocSysString()); else Fire_MakecallReply(hLine, (long)tr, (long)pCall->GetHandle(),destNumber); return S_OK; } else { //GCGC delete the call that was created above. tracer->tracef(SDI_LEVEL_ERROR, "CTACtrl::MakeCall : pCall->MakeCall failed\n"); delete pCall; return S_FALSE; } } } OpenLine STDMETHODIMP CTACtrl::OpenLine(long lDeviceID, BSTR lineDirNumber, long lPriviledges, long lMediaModes, BSTR receiveIPAddress, long lreceivePort) { USES_CONVERSION; tracer->tracef(SDI_LEVEL_ENTRY_EXIT, "CTACtrl::OpenLine %d %s %d %d %s %d\n", lDeviceID, T2A((LPTSTR)lineDirNumber), lPriviledges, lMediaModes, T2A((LPTSTR)receiveIPAddress), lreceivePort); int lineID; TRESULT tr; CString strReceiveIP(receiveIPAddress); CString strReqAddress(lineDirNumber); //bool bTermMedia = ((!strReceiveIP.IsEmpty()) && (lreceivePort! = 0)); bool bTermMedia = (((lMediaModes & LINEMEDIAMODE_AUTOMATEDVOICE) ! = 0) && (lreceivePort! = 0) && (!strReceiveIP.IsEmpty())); CtLine* pLine; AFX_MANAGE_STATE(AfxGetStaticModuleState()) tracer->tracef(SDI_LEVEL_DETAILED, "TAC: --> OpenLine()\n"); if ((lDeviceID<0) && !strcmp((char *)lineDirNumber, "")) { tracer->tracef(SDI_LEVEL_ERROR, "TCD: error -bad device ID and no dirn to open\n"); return S_FALSE; } lineID = lDeviceID; if (lDeviceID<0) { //search for line ID in list of lines. CtLineDevCaps ldc; Cisco Unified TAPI Developers Guide for Cisco Unified Communications Manager, Release 15 and SUs 448 Cisco Unified TAPI Examples OpenLine
