Beispiel #1
0
        /// <summary>
        /// Notify application on incoming call.
        /// </summary>
        ///<param name="sender">The current sender.</param>
        /// <param name="e">The event parameter.</param>
        private void _voipManager_OnIncomingCall(object sender, OnIncomingCallParam e)
        {
            // Is valid call.
            if (e.CallId >= 0)
            {
                // Create a new call.
                Call            call     = _voipManager.CreateCall(e.CallId);
                Param.CallParam callInfo = new Param.CallParam(call, _voipManager.MediaManager, _recordFilename);

                // Create the call settings.
                CallSetting setting = new CallSetting(true);
                CallOpParam parm    = new CallOpParam(true);
                setting.AudioCount = 1;
                parm.Setting       = setting;

                // Continue ringing.
                parm.Code = StatusCode.SC_RINGING;
                call.Answer(parm);

                // Send a notification to the call.
                Param.OnIncomingCallParam param = new Param.OnIncomingCallParam();
                param.CallID     = e.CallId;
                param.Info       = e.RxData.Info;
                param.SrcAddress = e.RxData.SrcAddress;
                param.WholeMsg   = e.RxData.WholeMsg;
                param.Call       = callInfo;
                param.Contact    = FindContact(param);

                // Call the event handler.
                OnIncomingCall?.Invoke(this, param);
            }
        }
Beispiel #2
0
 /// <summary>
 /// Notify application on incoming call.
 /// </summary>
 /// <param name="sender">The current sender.</param>
 /// <param name="e">The event parameter.</param>
 private void _account_OnIncomingCall(object sender, OnIncomingCallParam e)
 {
     OnIncomingCall?.Invoke(this, e);
 }
Beispiel #3
0
        private void InitHubEvents()
        {
            _hubConnection.On <string>("UpdateOnlineUsers", (message) =>
            {
                OnOnlineUsersUpdated?.Invoke(message.FromJson <List <User> >());
            });

            _hubConnection.On <int>("UpdateBalance", (balance) =>
            {
                OnBalanceUpdated?.Invoke(balance);
            });

            _hubConnection.On <string>("IncomingCall", (connectionId) =>
            {
                OnIncomingCall?.Invoke(connectionId);
            });

            _hubConnection.On <string>("CallAccepted", (connectionId) =>
            {
                OnCallAccepted?.Invoke(connectionId);
            });

            _hubConnection.On <string>("CallDeclined", (message) =>
            {
                OnCallDeclined?.Invoke(message.FromJson <UserActionMessage>());
            });

            _hubConnection.On <string>("CallEnded", (message) =>
            {
                OnCallEnded?.Invoke(message.FromJson <UserActionMessage>());
            });

            _hubConnection.On <string>("CallDenied", (message) =>
            {
                OnCallDenied?.Invoke(message.FromJson <ServerActionMessage>());
            });

            _hubConnection.On <string>("Poll", (message) =>
            {
                OnPoll?.Invoke(message.FromJson <PollMessage>());
            });

            _hubConnection.On <string, string>("ReceiveSignal", (connectionId, data) =>
            {
                OnSignalReceived?.Invoke(connectionId, data);
            });


            _hubConnection.On <string>("UpdateUsers", (message) =>
            {
                OnUsersUpdated?.Invoke(message.FromJson <List <User> >());
            });

            _hubConnection.On <string>("UpdateCalls", (message) =>
            {
                OnCallsUpdated?.Invoke(message.FromJson <List <UserCall> >());
            });

            _hubConnection.On <string>("CallAborted", (message) =>
            {
                OnCallAborted?.Invoke(message.FromJson <ServerActionMessage>());
            });
        }