public static Csta.EventBuffer_t clearCall(Acs.ACSHandle_t acsHandle, Csta.ConnectionID_t cId) { Csta.EventBuffer_t evtBuf = new Csta.EventBuffer_t(); Acs.InvokeID_t invokeId = new Acs.InvokeID_t(); Acs.RetCode_t retCode = Csta.cstaClearCall(acsHandle, invokeId, cId, null); if (retCode._value < 0) { System.Windows.Forms.MessageBox.Show("cstaClearCall error: " + retCode); return null; } ushort eventBufSize = Csta.CSTA_MAX_HEAP; ushort numEvents; retCode = Acs.acsGetEventBlock(acsHandle, evtBuf, ref eventBufSize, null, out numEvents); if (retCode._value < 0) { System.Windows.Forms.MessageBox.Show("acsGetEventBlock error: " + retCode); return null; } return evtBuf; }
public static Csta.EventBuffer_t clearConnection(Acs.ACSHandle_t acsHandle, Acs.PrivateData_t privData, Csta.ConnectionID_t cId) { var u2uString = "Hello, I AM test u2u string"; var u2uInfo = new Att.ATTUserToUserInfo_t(); // fixed u2u size int u2uSize = Att.ATT_MAX_UUI_SIZE; u2uInfo.length = (short)u2uString.Length; u2uInfo.type = Att.ATTUUIProtocolType_t.UUI_IA5_ASCII; u2uInfo.value = System.Text.Encoding.ASCII.GetBytes(u2uString); Array.Resize(ref u2uInfo.value, u2uSize); Att.attV6ClearConnection(privData, Att.ATTDropResource_t.DR_NONE, ref u2uInfo); Csta.EventBuffer_t evtBuf = new Csta.EventBuffer_t(); Acs.InvokeID_t invokeId = new Acs.InvokeID_t(); Acs.RetCode_t retCode = Csta.cstaClearConnection(acsHandle, invokeId, cId, privData); if (retCode._value < 0) { System.Windows.Forms.MessageBox.Show("cstaClearConnection error: " + retCode); return null; } privData.length = Att.ATT_MAX_PRIVATE_DATA; ushort eventBufSize = Csta.CSTA_MAX_HEAP; ushort numEvents; retCode = Acs.acsGetEventBlock(acsHandle, evtBuf, ref eventBufSize, privData, out numEvents); if (retCode._value < 0) { System.Windows.Forms.MessageBox.Show("acsGetEventBlock error: " + retCode); return null; } return evtBuf; }
private Csta.EventBuffer_t getDeviceList(Acs.ACSHandle_t acsHandle) { Csta.EventBuffer_t evtBuf = new Csta.EventBuffer_t(); Acs.PrivateData_t privData = new Acs.PrivateData_t(); int idx = -1; Acs.RetCode_t retCode = Csta.cstaGetDeviceList(acsHandle, new Acs.InvokeID_t(), idx, Csta.CSTALevel_t.CSTA_HOME_WORK_TOP); this.privData.length = Att.ATT_MAX_PRIVATE_DATA; ushort eventBufSize = Csta.CSTA_MAX_HEAP * 2; ushort numEvents; Acs.acsGetEventBlock(this.acsHandle, evtBuf, ref eventBufSize, privData, out numEvents); idx = evtBuf.evt.cstaConfirmation.getDeviceList.index; retCode = Csta.cstaGetDeviceList(acsHandle, new Acs.InvokeID_t(), idx, Csta.CSTALevel_t.CSTA_HOME_WORK_TOP); this.privData.length = Att.ATT_MAX_PRIVATE_DATA; eventBufSize = Csta.CSTA_MAX_HEAP; Acs.acsGetEventBlock(this.acsHandle, evtBuf, ref eventBufSize, privData, out numEvents); return evtBuf; }
public void GetAttEvents(Acs.ACSHandle_t acsHandle, Acs.PrivateData_t privData) { this.cstaReturnCode = Csta.cstaEscapeService(acsHandle, new Acs.InvokeID_t(), privData); if (this.cstaReturnCode._value < 0) return; var cstaEvtBuf = new Csta.EventBuffer_t(); ushort eventBufferSize = Csta.CSTA_MAX_HEAP; privData.length = Att.ATT_MAX_PRIVATE_DATA; ushort numEvents; this.cstaReturnCode = Acs.acsGetEventBlock(acsHandle, cstaEvtBuf, ref eventBufferSize, privData, out numEvents); if (this.cstaReturnCode._value < 0) return; if (cstaEvtBuf.evt.eventHeader.eventClass.eventClass != Csta.CSTACONFIRMATION || cstaEvtBuf.evt.eventHeader.eventType.eventType != Csta.CSTA_ESCAPE_SVC_CONF) { this.cstaError = cstaEvtBuf.evt.cstaConfirmation.universalFailure; return; } List<Att.ATTEvent_t> attEvtsList = new List<ATTEvent_t>(); var attEvt = new Att.ATTEvent_t(); this.attReturnCode = Att.attPrivateData(privData, attEvt); if (this.attReturnCode._value < 0) return; attEvtsList.Add(attEvt); if (attEvt.eventType.eventType == Att.ATT_QUERY_AGENT_LOGIN_CONF) { // The number of events is sometimes erroneously set to 0, // but there should always be at least one additional event // with attQueryAgentLogin() numEvents = 1; while (numEvents > 0 || attEvt.queryAgentLoginResp.count > 0) { attEvt = new Att.ATTEvent_t(); eventBufferSize = Csta.CSTA_MAX_HEAP; privData.length = Att.ATT_MAX_PRIVATE_DATA; this.cstaReturnCode = Acs.acsGetEventBlock(acsHandle, cstaEvtBuf, ref eventBufferSize, privData, out numEvents); if (this.cstaReturnCode._value < 0) return; if ((cstaEvtBuf.evt.eventHeader.eventClass.eventClass == Csta.CSTACONFIRMATION || cstaEvtBuf.evt.eventHeader.eventClass.eventClass == Csta.CSTAEVENTREPORT) && (cstaEvtBuf.evt.eventHeader.eventType.eventType == Csta.CSTA_ESCAPE_SVC_CONF || cstaEvtBuf.evt.eventHeader.eventType.eventType == Csta.CSTA_PRIVATE)) { this.attReturnCode = Att.attPrivateData(privData, attEvt); if (this.attReturnCode._value >= 0) attEvtsList.Add(attEvt); } else { this.cstaError = cstaEvtBuf.evt.cstaConfirmation.universalFailure; return; } } } else { while (numEvents > 0) { attEvt = new Att.ATTEvent_t(); eventBufferSize = Csta.CSTA_MAX_HEAP; privData.length = Att.ATT_MAX_PRIVATE_DATA; this.cstaReturnCode = Acs.acsGetEventBlock(acsHandle, cstaEvtBuf, ref eventBufferSize, privData, out numEvents); if (this.cstaReturnCode._value < 0) return; if ((cstaEvtBuf.evt.eventHeader.eventClass.eventClass == Csta.CSTACONFIRMATION || cstaEvtBuf.evt.eventHeader.eventClass.eventClass == Csta.CSTAEVENTREPORT) && (cstaEvtBuf.evt.eventHeader.eventType.eventType == Csta.CSTA_ESCAPE_SVC_CONF || cstaEvtBuf.evt.eventHeader.eventType.eventType == Csta.CSTA_PRIVATE)) { this.attReturnCode = Att.attPrivateData(privData, attEvt); if (this.attReturnCode._value >= 0) attEvtsList.Add(attEvt); } else { this.cstaError = cstaEvtBuf.evt.cstaConfirmation.universalFailure; return; } } } this.attEvts = attEvtsList.ToArray(); }
public static extern Acs.RetCode_t cstaTransferCall( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, Csta.ConnectionID_t heldCall, Csta.ConnectionID_t activeCall, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaSysStatStart( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, SystemStatusFilter_t statusFilter, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaSysStatEvent( Acs.ACSHandle_t acsHandle, SystemStatus_t systemStatus, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaSnapshotCallReq( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, ConnectionID_t snapshotObj, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaQueryCallMonitor( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID);
public static extern Acs.RetCode_t cstaPickupCall( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, Csta.ConnectionID_t deflectCall, ref Csta.DeviceID_t calledDevice, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaMonitorDevice( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, ref Csta.DeviceID_t deviceID, ref CSTAMonitorFilter_t monitorFilter, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaMonitorCall( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, Csta.ConnectionID_t call, ref CSTAMonitorFilter_t monitorFilter, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaMakePredictiveCall( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, ref Csta.DeviceID_t callingDevice, ref Csta.DeviceID_t calledDevice, Csta.AllocationState_t allocationState, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaHoldCall( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, Csta.ConnectionID_t activeCall, bool reservation, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaGetDeviceList( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, int index, CSTALevel_t level);
public static extern Acs.RetCode_t cstaSetForwarding( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, ref Csta.DeviceID_t device, ForwardingType_t forwardingType, bool forwardingOn, ref Csta.DeviceID_t forwardingDestination, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaQueryLastNumber( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, ref Csta.DeviceID_t device, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaSetMsgWaitingInd( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, ref Csta.DeviceID_t device, bool messages, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaRouteEndInv( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, RouteRegisterReqID_t routeRegisterReqID, RoutingCrossRefID_t routingCrossRefID, CSTAUniversalFailure_t errorValue, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaSnapshotDeviceReq( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, ref Csta.DeviceID_t snapshotObj, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaRouteRegisterCancel( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, RouteRegisterReqID_t routeRegisterReqID, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaSysStatReqConf( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, SystemStatus_t systemStatus, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaRouteRegisterReq( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, ref Csta.DeviceID_t routingDevice, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaSysStatStop( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaRouteSelectInv( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, RouteRegisterReqID_t routeRegisterReqID, RoutingCrossRefID_t routingCrossRefID, ref Csta.DeviceID_t routeSelected, RetryValue_t remainRetry, ref SetUpValues_t setupInformation, bool routeUsedReq, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaSendPrivateEvent( Acs.ACSHandle_t acsHandle, Acs.PrivateData_t privateData);
public static extern Acs.RetCode_t cstaSetAgentState( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, ref Csta.DeviceID_t device, AgentMode_t agentMode, AgentID_t agentID, AgentGroup_t agentGroup, AgentPassword_t agentPassword, Acs.PrivateData_t privateData);
public static Att.ATTUCID_t[] GetUcid(Csta.DeviceID_t device) { Acs.ACSHandle_t acsHandle; Acs.InvokeID_t invokeId; // Set PrivateData request var privData = new Acs.PrivateData_t(); privData.vendor = "VERSION"; privData.data = new byte[1024]; privData.data[0] = Acs.PRIVATE_DATA_ENCODING; // Get supportedVersion string string requestedVersion = "3-7"; // Private Data version request System.Text.StringBuilder supportedVersion = new System.Text.StringBuilder(); Acs.RetCode_t attrc = Att.attMakeVersionString(requestedVersion, supportedVersion); //Console.WriteLine("attrc = " + attrc + "; supportedVersion = " + supportedVersion); for (int i = 0; i < supportedVersion.Length; i++) { privData.data[i + 1] = (byte)supportedVersion[i]; } privData.length = Att.ATT_MAX_PRIVATE_DATA; Acs.RetCode_t retCode = OpenStream(out acsHandle, out invokeId, ref privData); //Console.WriteLine("acsOpenStream retCode = " + retCode + ", Handle = " + acsHandle.ToString()); retCode = Csta.cstaSnapshotDeviceReq(acsHandle, invokeId, ref device, ref privData); privData.length = Att.ATT_MAX_PRIVATE_DATA; Csta.CSTAEvent_t evt = new Csta.CSTAEvent_t(); ushort eventBufSize = Csta.CSTA_MAX_HEAP; ushort numEvents = 0; retCode = Acs.acsGetEventBlock(acsHandle, out evt, ref eventBufSize, ref privData, out numEvents); int callCount = evt.cstaConfirmation.snapshotDevice.snapshotData.count; Csta.ConnectionID_t[] connections = new Csta.ConnectionID_t[callCount]; for (int i = 0; i < evt.cstaConfirmation.snapshotDevice.snapshotData.count; i++) { connections[i] = evt.cstaConfirmation.snapshotDevice.snapshotData.info[i].callIdentifier; } if (callCount > 0) { //Console.WriteLine(evt.cstaConfirmation.snapshotDevice.snapshotData); //Console.WriteLine(evt.cstaConfirmation.snapshotDevice.snapshotData.info[1].localCallState); Att.ATTUCID_t[] ucids = new Att.ATTUCID_t[callCount]; for (int i = 0; i < callCount; i++) { //Csta.ConnectionID_t connection = evt.cstaConfirmation.snapshotDevice.snapshotData.info[i].callIdentifier; retCode = Att.attQueryUCID(ref privData, ref connections[i]); //Console.WriteLine("attQueryUCID retCode = " + retCode); //Console.WriteLine("privData.Length = " + privData.length); retCode = Csta.cstaEscapeService(acsHandle, invokeId, ref privData); //Console.WriteLine("cstaEscapeService retCode = " + retCode); //Console.WriteLine("privData.Length = " + privData.length); // Set private data length (we'll have to call GetEventBlock otherwise) privData.length = Att.ATT_MAX_PRIVATE_DATA; retCode = Acs.acsGetEventBlock(acsHandle, out evt, ref eventBufSize, ref privData, out numEvents); //Console.WriteLine("acsGetEventBlock retCode = " + retCode + " Buffer size = " + eventBufSize + ", numEvents = " + numEvents); //Console.WriteLine("eventClass = " + evt.eventHeader.eventClass); //Console.WriteLine("eventType = " + evt.eventHeader.eventType); //Console.WriteLine("privData.Length = " + privData.length); // Decode ATTPrivateData Att.ATTEvent_t attevt; retCode = Att.attPrivateData(ref privData, out attevt); ucids[i] = attevt.queryUCID.ucid; //Console.WriteLine("attPrivateData retCode = " + retCode); //Console.WriteLine("privData.Length = " + privData.length); //Console.WriteLine("ATTeventType = " + attevt.eventType); //Console.WriteLine("ucid #{0} = {1}", i + 1, attevt.queryUCID.ucid); } Acs.acsAbortStream(acsHandle, out privData); return(ucids); } else { Console.WriteLine("No active calls"); Acs.acsAbortStream(acsHandle, out privData); return(new Att.ATTUCID_t[0]); } }
public static extern Acs.RetCode_t cstaSetDoNotDisturb( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID, ref Csta.DeviceID_t device, bool doNotDisturb, Acs.PrivateData_t privateData);
private Csta.EventBuffer_t closeStream(Acs.ACSHandle_t acsHandle) { Csta.EventBuffer_t evtBuf = new Csta.EventBuffer_t(); Acs.RetCode_t retCode = Acs.acsCloseStream(acsHandle, new Acs.InvokeID_t(), null); ushort eventBufSize = Csta.CSTA_MAX_HEAP; ushort numEvents; retCode = Acs.acsGetEventBlock(this.acsHandle, evtBuf, ref eventBufSize, null, out numEvents); if (retCode._value < 0) { MessageBox.Show("acsGetEventBlock error: " + retCode); return null; } if (evtBuf.evt.eventHeader.eventClass.eventClass != Acs.ACSCONFIRMATION || evtBuf.evt.eventHeader.eventType.eventType != Acs.ACS_CLOSE_STREAM_CONF) { if (evtBuf.evt.eventHeader.eventClass.eventClass == Acs.ACSCONFIRMATION && evtBuf.evt.eventHeader.eventType.eventType == Acs.ACS_UNIVERSAL_FAILURE_CONF) { MessageBox.Show("Clear call failed. Error: " + evtBuf.evt.cstaConfirmation.universalFailure.error); } } return evtBuf; }
public static extern Acs.RetCode_t cstaGetAPICaps( Acs.ACSHandle_t acsHandle, Acs.InvokeID_t invokeID);