/// <summary>
        /// Sube o Baja la señal de grabación ??? según el tipo de llamada y el estado del puesto....
        /// </summary>
        /// <param name="callType"></param>
        /// <param name="rec"></param>
        public void Rec(CORESIP_CallType callType, bool rec)
        {
#if _AUDIOGENERIC_
            /** AGL.CMEDIA */
            ISndDevIO snd;
#else
            SndDev snd;
#endif

            switch (callType)
            {
            case CORESIP_CallType.CORESIP_CALL_IA:
                if (Top.Mixer.SplitMode == SplitMode.Off)
                {
                    if (LstDispositivos.TryGetValue(CORESIP_SndDevType.CORESIP_SND_INSTRUCTOR_MHP, out snd))
#if _AUDIOGENERIC_
                    { snd.SenGrabacion(rec); }
#else
                    { snd.SetGpio(HwManager.OUT_GRABACION, rec ? HwManager.ON : HwManager.OFF); }
#endif
                }
                if (LstDispositivos.TryGetValue(CORESIP_SndDevType.CORESIP_SND_ALUMN_MHP, out snd))
#if _AUDIOGENERIC_
                { snd.SenGrabacion(rec); }
#else
                { snd.SetGpio(HwManager.OUT_GRABACION, rec ? HwManager.ON : HwManager.OFF); }
#endif
                break;

            case CORESIP_CallType.CORESIP_CALL_DIA:
                if (Top.Mixer.SplitMode == SplitMode.Off || Top.Mixer.SplitMode == SplitMode.RdLc)
                {
                    if (LstDispositivos.TryGetValue(CORESIP_SndDevType.CORESIP_SND_INSTRUCTOR_MHP, out snd))
#if _AUDIOGENERIC_
                    { snd.SenGrabacion(rec); }
#else
                    { snd.SetGpio(HwManager.OUT_GRABACION, rec ? HwManager.ON : HwManager.OFF); }
#endif
                }
                if (Top.Mixer.SplitMode == SplitMode.Off || Top.Mixer.SplitMode == SplitMode.LcTf)
                {
                    if (LstDispositivos.TryGetValue(CORESIP_SndDevType.CORESIP_SND_ALUMN_MHP, out snd))
#if _AUDIOGENERIC_
                    { snd.SenGrabacion(rec); }
#else
                    { snd.SetGpio(HwManager.OUT_GRABACION, rec ? HwManager.ON : HwManager.OFF); }
#endif
                }
                break;

            case CORESIP_CallType.CORESIP_CALL_RD:
                if (Top.Mixer.SplitMode == SplitMode.Off || Top.Mixer.SplitMode == SplitMode.RdLc)
                {
                    if (LstDispositivos.TryGetValue(CORESIP_SndDevType.CORESIP_SND_ALUMN_MHP, out snd))
#if _AUDIOGENERIC_
                    { snd.SenGrabacion(rec); }
#else
                    { snd.SetGpio(HwManager.OUT_GRABACION, rec ? HwManager.ON : HwManager.OFF); }
#endif
                }
                if (Top.Mixer.SplitMode == SplitMode.Off || Top.Mixer.SplitMode == SplitMode.LcTf)
                {
                    if (LstDispositivos.TryGetValue(CORESIP_SndDevType.CORESIP_SND_INSTRUCTOR_MHP, out snd))
#if _AUDIOGENERIC_
                    { snd.SenGrabacion(rec); }
#else
                    { snd.SetGpio(HwManager.OUT_GRABACION, rec ? HwManager.ON : HwManager.OFF); }
#endif
                }
                break;
            }
        }
Beispiel #2
0
        private SipCallInfo(int callId, string localId, string remoteId, CORESIP_Priority priority, CORESIP_CallType type, SipChannel ch, SipRemote remote, SipLine line)
        {
            _Id       = callId;
            _LocalId  = localId;
            _RemoteId = remoteId;
            _Priority = priority;
            _Ch       = ch;
            _Remote   = remote;
            _Line     = line;

            switch (type)
            {
            case CORESIP_CallType.CORESIP_CALL_MONITORING:
            case CORESIP_CallType.CORESIP_CALL_GG_MONITORING:
            case CORESIP_CallType.CORESIP_CALL_AG_MONITORING:
                _Monitoring = true;
                break;
            }
        }