Exemplo n.º 1
0
 public CallStateArgs(int accId, int callId, sua_inv_state state, string remote, sua_role_e role, int lastStatus)
 {
     AccountId  = accId;
     CallId     = callId;
     STATE      = state;
     RemoteUri  = remote;
     ROLE       = role;
     LastStatus = lastStatus;
 }
Exemplo n.º 2
0
        private bool UpdateStateCode(sua_inv_state state, int statusCode)
        {
            _impl.IsDisconnected = false;

            int code = 0;

            switch (state)
            {
            case sua_inv_state.PJSIP_INV_STATE_EARLY:
            case sua_inv_state.PJSIP_INV_STATE_CALLING:
            case sua_inv_state.PJSIP_INV_STATE_CONNECTING:
                code = 180;
                break;

            case sua_inv_state.PJSIP_INV_STATE_CONFIRMED:
                code = 200;
                _commandQueue.Add(XmlrpcCommand.NotifyRecordFileName);
                break;

            case sua_inv_state.PJSIP_INV_STATE_DISCONNECTED:
                switch (statusCode)
                {
                case 408:
                    code = 408;
                    break;

                case 404:
                    code = 404;
                    break;

                case 486:
                    code = 486;
                    break;

                case 603:
                    code = 603;
                    break;

                default:
                    code = 800;
                    break;
                }
                _impl.IsDisconnected = true;
                break;
            }

            if (code == 0 || _impl.StateCode == code)
            {
                return(false);
            }

            _impl.StateCode = code;
            return(true);
        }
Exemplo n.º 3
0
        public Channel(Button button, int id)
        {
            ChannelId     = id;
            ChannelButton = button;

            _callId          = -1;
            _callstate       = sua_inv_state.PJSIP_INV_STATE_NULL;
            _mediastate      = sua_call_media_status.SUA_CALL_MEDIA_NONE;
            _videomediastate = sua_call_media_status.SUA_CALL_MEDIA_NONE;

            RecorderId = -1;
            RingPlayId = -1;
        }
Exemplo n.º 4
0
        public void OnCallStateChanged(int callId, sua_inv_state state, int statusCode)
        {
            if (!ValidateCallId(callId))
            {
                return;
            }

            if (!UpdateStateCode(state, statusCode))
            {
                return;
            }

            _commandQueue.Add(XmlrpcCommand.NotifyCallStateChanged);
        }
Exemplo n.º 5
0
        public void Reset()
        {
            _callId          = -1;
            _callstate       = sua_inv_state.PJSIP_INV_STATE_NULL;
            _mediastate      = sua_call_media_status.SUA_CALL_MEDIA_NONE;
            _videomediastate = sua_call_media_status.SUA_CALL_MEDIA_NONE;

            CallPartyDisplayName   = string.Empty;
            CallPartyDisplayNumber = string.Empty;

            RecorderId = -1;
            RingPlayId = -1;

            IsAnswered        = false;
            IsRediect2Handset = false;
            IsGroupCall       = false;
        }
Exemplo n.º 6
0
 public HandsetCallStateArgs(string uri, sua_role_e role, sua_inv_state state)
 {
     RemoteUri = uri;
     Role      = role;
     State     = state;
 }