Ejemplo n.º 1
0
        private ATTUserToUserInfo_t ReadUserToUserInfo(IStructReader reader)
        {
            try
            {
                object result;

                logger.Info("ATTConnectionClearedParser.ReadUserToUserInfo: try to read user to user info from stream...");

                if (reader.TryReadStruct(typeof(ATTUserToUserInfo_t), out result))
                {
                    logger.Info("ATTConnectionClearedParser.ReadUserToUserInfo: successfully read user to user info from stream!");

                    ATTUserToUserInfo_t userInfo = (ATTUserToUserInfo_t)result;

                    logger.Info("ATTConnectionClearedParser.ReadUserToUserInfo: userInfo.type={0};userInfo.length={1};userInfo.data={2};", userInfo.type, userInfo.length, Encoding.Default.GetString(userInfo.data));

                    return(userInfo);
                }
            }
            catch (Exception err)
            {
                logger.Error(string.Format("Error in ATTConnectionClearedParser.ReadUserToUserInfo: {0}", err));
            }

            return(new ATTUserToUserInfo_t());
        }
Ejemplo n.º 2
0
        protected ATTUserToUserInfo_t GetUuiFromString(string info)
        {
            var info2 = new ATTUserToUserInfo_t();

            if (!string.IsNullOrEmpty(info))
            {
                info2.data = new ATTUserToUserInfo_Data
                {
                    length = (ushort)info.Length,
                    value  = info
                };
                info2.type = ATTUUIProtocolType_t.uuiIa5Ascii;
            }
            return(info2);
        }
        private ATTOriginalCallInfo_t ReadOriginalCallInfo(IStructReader reader)
        {
            try
            {
                object result;

                ATTOriginalCallInfo_t originalCallInfo = new ATTOriginalCallInfo_t();

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read reason code from stream...");
                int intReason = reader.ReadInt32();

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: ReasonCode={0}", intReason);

                if (Enum.IsDefined(typeof(ATTReasonForCallInfo_t), intReason))
                {
                    ATTReasonForCallInfo_t reason = (ATTReasonForCallInfo_t)intReason;

                    logger.Info("ATTConferencedParser.ReadOriginalCallInfo: reason={0}", reason);

                    originalCallInfo.reason = reason;
                }

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read calling device from stream...");
                if (reader.TryReadStruct(typeof(CallingDeviceID_t), out result))
                {
                    CallingDeviceID_t callingDevice = (CallingDeviceID_t)result;

                    logger.Info("ATTConferencedParser.ReadOriginalCallInfo: callingDevice.deviceID={0};callingDevice.deviceIDType={1};callingDevice.deviceIDStatus={2};", callingDevice.value.deviceID.device, callingDevice.value.deviceIDType, callingDevice.value.deviceIDStatus);

                    originalCallInfo.callingDevice = callingDevice;
                }

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read called device from stream...");
                if (reader.TryReadStruct(typeof(CalledDeviceID_t), out result))
                {
                    CalledDeviceID_t calledDevice = (CalledDeviceID_t)result;

                    logger.Info("ATTConferencedParser.ReadOriginalCallInfo: calledDevice.deviceID={0};calledDevice.deviceIDType={1};calledDevice.deviceIDStatus={2};", calledDevice.value.deviceID.device, calledDevice.value.deviceIDType, calledDevice.value.deviceIDStatus);

                    originalCallInfo.calledDevice = calledDevice;
                }

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read trunk group from stream...");
                if (reader.TryReadStruct(typeof(DeviceID_t), out result))
                {
                    DeviceID_t trunkGroup = (DeviceID_t)result;

                    logger.Info("ATTConferencedParser.ReadOriginalCallInfo: trunkGroup={0}", trunkGroup.device);

                    originalCallInfo.trunkGroup = trunkGroup;
                }

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read trunk member from stream...");
                if (reader.TryReadStruct(typeof(DeviceID_t), out result))
                {
                    DeviceID_t trunkMember = (DeviceID_t)result;

                    logger.Info("ATTConferencedParser.ReadOriginalCallInfo: trunkMember={0}", trunkMember.device);

                    originalCallInfo.trunkMember = trunkMember;
                }

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read look ahead info from stream...");
                if (reader.TryReadStruct(typeof(ATTLookaheadInfo_t), out result))
                {
                    ATTLookaheadInfo_t lookaheadInfo = (ATTLookaheadInfo_t)result;

                    logger.Info("ATTConferencedParser.ReadOriginalCallInfo: lookaheadInfo.type={0};lookaheadInfo.priority{1};lookaheadInfo.hours={2};lookaheadInfo.minutes={3};lookaheadInfo.seconds={4};lookaheadInfo.sourceVDN={5};lookaheadInfo.uSourceVDN.count={6};lookaheadInfo.uSourceVDN.value={7};", lookaheadInfo.type, lookaheadInfo.priority, lookaheadInfo.hours, lookaheadInfo.minutes, lookaheadInfo.seconds, lookaheadInfo.sourceVDN.device, lookaheadInfo.uSourceVDN.count, lookaheadInfo.uSourceVDN.value);

                    originalCallInfo.lookaheadInfo = lookaheadInfo;
                }

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read user entered code from stream...");
                if (reader.TryReadStruct(typeof(ATTUserEnteredCode_t), out result))
                {
                    ATTUserEnteredCode_t userEnteredCode = (ATTUserEnteredCode_t)result;

                    logger.Info("ATTConferencedParser.ReadOriginalCallInfo: userEnteredCode.type={0};userEnteredCode.indicator={1};userEnteredCode.data={2};userEnteredCode.collectVDN={3};", userEnteredCode.type, userEnteredCode.indicator, userEnteredCode.data, userEnteredCode.collectVDN.device);

                    originalCallInfo.userEnteredCode = userEnteredCode;
                }

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read user to user info from stream...");
                if (reader.TryReadStruct(typeof(ATTUserToUserInfo_t), out result))
                {
                    ATTUserToUserInfo_t userInfo = (ATTUserToUserInfo_t)result;

                    logger.Info("ATTConferencedParser.ReadOriginalCallInfo: userInfo.type={0};userInfo.length={1};userInfo.data={2};", userInfo.type, userInfo.length, userInfo.data);

                    originalCallInfo.userInfo = userInfo;
                }

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read ucid from stream...");
                if (reader.TryReadStruct(typeof(ATTUCID_t), out result))
                {
                    ATTUCID_t ucid = (ATTUCID_t)result;

                    logger.Info("ATTConferencedParser.ReadOriginalCallInfo: ucid={0}", ucid.value);

                    originalCallInfo.ucid = ucid;
                }

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read call originator info from stream...");
                if (reader.TryReadStruct(typeof(ATTCallOriginatorInfo_t), out result))
                {
                    ATTCallOriginatorInfo_t callOriginatorInfo = (ATTCallOriginatorInfo_t)result;

                    logger.Info("ATTConferencedParser.ReadOriginalCallInfo: callOriginatorInfo.hasInfo={0};callOriginatorInfo.callOriginatorType={1};", callOriginatorInfo.hasInfo, callOriginatorInfo.callOriginatorType);

                    originalCallInfo.callOriginatorInfo = callOriginatorInfo;
                }

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read flexible billing from stream...");
                bool flexibleBilling = reader.ReadBoolean();

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: flexibleBilling={0}", flexibleBilling);

                originalCallInfo.flexibleBilling = flexibleBilling;

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: advance base stream 3 positions due to pack size of 4...");
                reader.BaseStream.Position += 3;

                DeviceHistory_t deviceHistory = new DeviceHistory_t();

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: read device history count from stream...");
                uint count = reader.ReadUInt32();

                logger.Info("ATTConferencedParser.ReadOriginalCallInfo: count={0}", count);

                if (count == 1)
                {
                    reader.BaseStream.Position += 4;

                    logger.Info("ATTConferencedParser.ReadDeviceHistory: try to read a device history entry from the stream...");

                    if (reader.TryReadStruct(typeof(DeviceHistoryEntry_t), out result))
                    {
                        logger.Info("ATTConferencedParser.ReadDeviceHistory: successfully read device history entry from stream!");

                        DeviceHistoryEntry_t deviceHistoryEntry = (DeviceHistoryEntry_t)result;

                        logger.Info("ATTConferencedParser.ReadDeviceHistory: deviceHistoryEntry.olddeviceID={0};deviceHistoryEntry.oldconnectionID.callID={1};deviceHistoryEntry.oldconnectionID.deviceID={2};", deviceHistoryEntry.olddeviceID.device, deviceHistoryEntry.oldconnectionID.callID, deviceHistoryEntry.oldconnectionID.deviceID.device);

                        deviceHistory = new DeviceHistory_t()
                        {
                            count             = 1,
                            deviceHistoryList = new DeviceHistoryEntry_t[] { deviceHistoryEntry }
                        };
                    }
                }
                else
                {
                    deviceHistory = new DeviceHistory_t()
                    {
                        count             = 0,
                        deviceHistoryList = new DeviceHistoryEntry_t[] { }
                    };
                }

                originalCallInfo.deviceHistory = deviceHistory;

                return(originalCallInfo);
            }
            catch (Exception err)
            {
                logger.Error(string.Format("Error in ATTConferencedParser.ReadOriginalCallInfo: {0}", err));
            }

            return(new ATTOriginalCallInfo_t());
        }
Ejemplo n.º 4
0
 public static extern ACSFunctionRet_t attV7RouteSelect(ref PrivateData_t privateData, [MarshalAs(UnmanagedType.LPStr)] string callingDevice, [MarshalAs(UnmanagedType.LPStr)] string directAgentCallSplit, byte priorityCalling, [MarshalAs(UnmanagedType.LPStr)] string destRoute, ref ATTUserCollectCode_t collectCode, ref ATTUserProvidedCode_t userProvidedCode, ref ATTUserToUserInfo_t userInfo, ATTRedirectType_t networkredirect);
Ejemplo n.º 5
0
 public static extern ACSFunctionRet_t attV6ReconnectCall(ref PrivateData_t privateData, ATTDropResource_t dropResource, ref ATTUserToUserInfo_t userInfo);
Ejemplo n.º 6
0
 public static extern ACSFunctionRet_t attV6SupervisorAssistCall(ref PrivateData_t privateData, [MarshalAs(UnmanagedType.LPStr)] string split, ref ATTUserToUserInfo_t userInfo);
Ejemplo n.º 7
0
 public static extern ACSFunctionRet_t attV6MakePredictiveCall(ref PrivateData_t privateData, bool priorityCalling, short maxRings, ATTAnswerTreat_t answerTreat, [MarshalAs(UnmanagedType.LPStr)] string destRoute, ref ATTUserToUserInfo_t userInfo);
Ejemplo n.º 8
0
 public static extern ACSFunctionRet_t attV6DirectAgentCall(ref PrivateData_t privateData, [MarshalAs(UnmanagedType.LPStr)] string split, byte priorityCalling, ref ATTUserToUserInfo_t userInfo);
Ejemplo n.º 9
0
 public static extern ACSFunctionRet_t attV6ConsultationCall(ref PrivateData_t privateData, [MarshalAs(UnmanagedType.LPStr)] string destRoute, bool priorityCalling, ref ATTUserToUserInfo_t userInfo);
Ejemplo n.º 10
0
 public static extern Acs.RetCode_t attV6SupervisorAssistCall(
                 [In, Out]
                 Acs.PrivateData_t privData,
                 ref Csta.DeviceID_t deviceRoute,
                 ref ATTUserToUserInfo_t userInfo);
Ejemplo n.º 11
0
 public static extern Acs.RetCode_t attV6ReconnectCall(
                 [In, Out]
                 Acs.PrivateData_t privateData,
                 ATTDropResource_t dropResource,
                 ref ATTUserToUserInfo_t userInfo);
Ejemplo n.º 12
0
 public static extern Acs.RetCode_t attV6MakePredictiveCall(
                 [In, Out]
                 Acs.PrivateData_t privateData,
                 bool priorityCalling,
                 short maxRings,
                 ATTAnswerTreat_t answerTreat,
                 ref Csta.DeviceID_t destRoute,
                 ref ATTUserToUserInfo_t userInfo);
Ejemplo n.º 13
0
 public static extern Acs.RetCode_t attV6MakeCall(
                 [In, Out]
                 Acs.PrivateData_t privateData,
                 ref Csta.DeviceID_t destRoute,
                 bool priorityCalling,
                 ref ATTUserToUserInfo_t userInfo);
Ejemplo n.º 14
0
 public static extern Acs.RetCode_t attV6DirectAgentCall(
                 [In, Out]
                 Acs.PrivateData_t privData,
                 ref Csta.DeviceID_t split,
                 bool priorityCalling,
                 ref ATTUserToUserInfo_t userInfo);